Я работаю над проектом веб-формы, чтобы страницы веб-сайтов загружались через HTTPS.И я использовал код удара в web.config для перенаправления:
<system.webServer>
<rewrite>
<outboundRules rewriteBeforeCache="true">
<rule name="Remove Server header">
<match serverVariable="RESPONSE_Server" pattern=".+" />
<action type="Rewrite" value="behooy sanat , BSCo." />
</rule>
</outboundRules>
<rules>
<rule name="redirect http to https (sapqd)" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" negate="false" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="Https://{HTTP_HOST}{REQUEST_URI}" redirectType="Found" />
</rule>
</rules>
</rewrite>
<httpProtocol>
<customHeaders>
<remove name="x-Powered-By" />
<add name="Powered-By" value="Mostooooo" />
<remove name="X-AspNet-Version" />
</customHeaders>
</httpProtocol>
<httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File">
<remove statusCode="502" subStatusCode="-1" />
<remove statusCode="501" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<remove statusCode="412" subStatusCode="-1" />
<remove statusCode="406" subStatusCode="-1" />
<remove statusCode="405" subStatusCode="-1" />
<remove statusCode="403" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="401" subStatusCode="-1" />
<error statusCode="401" prefixLanguageFilePath="" path="https://sapqd.sapco.com/404.aspx" responseMode="Redirect" />
<error statusCode="404" prefixLanguageFilePath="" path="https://sapqd.sapco.com/404.aspx" responseMode="Redirect" />
<error statusCode="403" prefixLanguageFilePath="" path="https://sapqd.sapco.com/404.aspx" responseMode="Redirect" />
<error statusCode="405" prefixLanguageFilePath="" path="https://sapqd.sapco.com/404.aspx" responseMode="Redirect" />
<error statusCode="406" prefixLanguageFilePath="" path="https://sapqd.sapco.com/404.aspx" responseMode="Redirect" />
<error statusCode="412" prefixLanguageFilePath="" path="https://sapqd.sapco.com/404.aspx" responseMode="Redirect" />
<error statusCode="500" prefixLanguageFilePath="" path="https://sapqd.sapco.com/404.aspx" responseMode="Redirect" />
<error statusCode="501" prefixLanguageFilePath="" path="https://sapqd.sapco.com/404.aspx" responseMode="Redirect" />
<error statusCode="502" prefixLanguageFilePath="" path="https://sapqd.sapco.com/404.aspx" responseMode="Redirect" />
</httpErrors>
<directoryBrowse enabled="false" />
</system.webServer>
Но метод pageload () страницы входа в систему выполняется неоднократно, и мы хотим прекратить выполнение определенной части кода, которая предназначена длякапча ко времени Postback думал, что эта часть выполняется дважды, когда работает PostBack.И, наконец, полученный код капчи не совпадает с кодом пользовательского капчи, и поэтому проект входа в систему невозможен.
protected void Page_Load(object sender, EventArgs e)
{
try
{
Session["userid"] = txt_user_name.Text;
if (!IsPostBack)
{
//// this part twice run after PostBack
Captcha();
Pnl_captcha.Visible = false;
}
}
catch (Exception ex)
{
gc.ShowError(ex.ToString(), 1);
}
}
Все, к чему мы стремимся, это то, что всякий раз, когда мы перенаправляем HTTP на HTTPS, мы будемв состоянии распознать Postback.