0

我找到了几种将非 SSL 重定向到 SSL 的解决方案,但我不想出于特定目的这样做。因为它仍然会通过互联网发送未加密的信息。

我想强制用户调用 SSL,否则他们无法使用该页面。

所以我需要将非 SSL 重定向到错误页面(简单的 HTML)。如果页面被 SSL 访问,则什么也不做。

有人对此有很好的htaccess吗?最好与 CodeIgniter 兼容。

4

3 回答 3

1

我找到了几种将非 SSL 重定向到 SSL 的解决方案……它仍然会通过 Internet 发送未加密的信息。

如果您收到非 SSL 请求并立即执行 30X 重定向,则传递的唯一未加密数据是请求的 URL 和重定向标头。我怀疑这有什么害处。

将所有非 SSL 请求发送到一页:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule .* insecure.html [L]
于 2012-09-10T13:08:19.550 回答
0

如果您想将非 SSL 用户重定向到错误页面,请使用此(请注意,这会将非 SSL 用户重定向到您网站的所有页面):

RewriteEngine on
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule . error.php [L]

如果您希望用户看到自己被重定向到错误页面,请将[R]标志添加到最后一行:

RewriteRule . error.php [L,R]
于 2012-09-10T13:06:55.387 回答
0

您应该能够添加 mod_rewrite 规则来执行此操作,在文档根目录的 htaccess 文件中的任何 CI 规则之前添加这些规则:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^name-of-protected-page /non-ssl-error-page.html [L,R]
于 2012-09-10T13:06:28.723 回答