@@ -14,8 +14,8 @@ namespace Umbraco.Web.HealthCheck.Checks.Security
14
14
{
15
15
public abstract class BaseHttpHeaderCheck : HealthCheck
16
16
{
17
- protected IRuntimeState Runtime { get ; }
18
- protected ILocalizedTextService TextService { get ; }
17
+ private readonly ILocalizedTextService _textService ;
18
+ private readonly IRuntimeState _runtime ;
19
19
20
20
private const string SetHeaderInConfigAction = "setHeaderInConfig" ;
21
21
@@ -24,14 +24,14 @@ public abstract class BaseHttpHeaderCheck : HealthCheck
24
24
private readonly string _localizedTextPrefix ;
25
25
private readonly bool _metaTagOptionAvailable ;
26
26
27
+
27
28
protected BaseHttpHeaderCheck (
28
29
IRuntimeState runtime ,
29
30
ILocalizedTextService textService ,
30
31
string header , string value , string localizedTextPrefix , bool metaTagOptionAvailable )
31
32
{
32
- Runtime = runtime ;
33
- TextService = textService ?? throw new ArgumentNullException ( nameof ( textService ) ) ;
34
-
33
+ _runtime = runtime ;
34
+ _textService = textService ?? throw new ArgumentNullException ( nameof ( textService ) ) ;
35
35
_header = header ;
36
36
_value = value ;
37
37
_localizedTextPrefix = localizedTextPrefix ;
@@ -70,7 +70,8 @@ protected HealthCheckStatus CheckForHeader()
70
70
var success = false ;
71
71
72
72
// Access the site home page and check for the click-jack protection header or meta tag
73
- var url = Runtime . ApplicationUrl ;
73
+ var url = _runtime . ApplicationUrl . GetLeftPart ( UriPartial . Authority ) ;
74
+
74
75
var request = WebRequest . Create ( url ) ;
75
76
request . Method = "GET" ;
76
77
try
@@ -84,24 +85,25 @@ protected HealthCheckStatus CheckForHeader()
84
85
if ( success == false && _metaTagOptionAvailable )
85
86
{
86
87
success = DoMetaTagsContainKeyForHeader ( response ) ;
88
+
87
89
}
88
90
89
91
message = success
90
- ? TextService . Localize ( $ "healthcheck", $ "{ _localizedTextPrefix } CheckHeaderFound")
91
- : TextService . Localize ( $ "healthcheck", $ "{ _localizedTextPrefix } CheckHeaderNotFound") ;
92
+ ? _textService . Localize ( $ "healthcheck", $ "{ _localizedTextPrefix } CheckHeaderFound")
93
+ : _textService . Localize ( $ "healthcheck", $ "{ _localizedTextPrefix } CheckHeaderNotFound") ;
92
94
}
93
95
catch ( Exception ex )
94
96
{
95
- message = TextService . Localize ( "healthcheck" , "healthCheckInvalidUrl" , new [ ] { url . ToString ( ) , ex . Message } ) ;
97
+ message = _textService . Localize ( "healthcheck" , "healthCheckInvalidUrl" , new [ ] { url . ToString ( ) , ex . Message } ) ;
96
98
}
97
99
98
100
var actions = new List < HealthCheckAction > ( ) ;
99
101
if ( success == false )
100
102
{
101
103
actions . Add ( new HealthCheckAction ( SetHeaderInConfigAction , Id )
102
104
{
103
- Name = TextService . Localize ( "healthcheck" , "setHeaderInConfig" ) ,
104
- Description = TextService . Localize ( $ "healthcheck", $ "{ _localizedTextPrefix } SetHeaderInConfigDescription")
105
+ Name = _textService . Localize ( "healthcheck" , "setHeaderInConfig" ) ,
106
+ Description = _textService . Localize ( $ "healthcheck", $ "{ _localizedTextPrefix } SetHeaderInConfigDescription")
105
107
} ) ;
106
108
}
107
109
@@ -149,14 +151,14 @@ private HealthCheckStatus SetHeaderInConfig()
149
151
if ( success )
150
152
{
151
153
return
152
- new HealthCheckStatus ( TextService . Localize ( "healthcheck" , _localizedTextPrefix + "SetHeaderInConfigSuccess" ) )
154
+ new HealthCheckStatus ( _textService . Localize ( "healthcheck" , _localizedTextPrefix + "SetHeaderInConfigSuccess" ) )
153
155
{
154
156
ResultType = StatusResultType . Success
155
157
} ;
156
158
}
157
159
158
160
return
159
- new HealthCheckStatus ( TextService . Localize ( "healthcheck" , "setHeaderInConfigError" , new [ ] { errorMessage } ) )
161
+ new HealthCheckStatus ( _textService . Localize ( "healthcheck" , "setHeaderInConfigError" , new [ ] { errorMessage } ) )
160
162
{
161
163
ResultType = StatusResultType . Error
162
164
} ;
0 commit comments