用户登录后将所有网页重定向到HTTPS
Redirect all webpages to HTTPS after user logs in?
我正在使用PHP构建一个混合的https://http网站。当用户登录(通过https)时,我用用户名和会话设置了一个安全cookie。登录后(所以一旦设置了cookie),我想将所有流量重定向到https,因为登录后每个页面上都有特定于用户的内容。最初我将网站设置为只使用https,但在四处搜索后,似乎只有在需要时才使用SSL更好(所以当用户没有登录http时会使用)。我可以使用PHP/javascript或在.htaccess文件中添加一些关于cookie的命令来实现这一点吗?提前感谢!
这是假设您已将会话配置为仅通过HTTPS工作,否则,这只是假装安全(使用session.cookie_secure
)。
您也可以在登录时设置(http,而不是https)cookie:
setcookie('wantshttps','true',0,'/');
并且在.htaccess
:中
RewriteCond %{HTTP_COOKIE} wantshttps=true
RewriteCOnd %{HTTPS} !on
RewriteCOnd %{REQUEST_METHOD} !POST
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,QSA]
因此,如果您检测到cookie为"true",但为未登录用户(会话已过期等),请记住将其设置为false或取消设置。
就HTML中的URL而言,相对URL应该处理这一问题,因为它们使用基地址的协议。如果需要引用其他网站,您可以使用省略了协议名称和冒号的URL,例如//www.example.com/foo,它将被解释为http://www.example.com/foo或https://www.example.com/foo取决于参考页面的协议。
查看php.net header()
函数
相关文章:
- AJAX不会在文件上传后重定向到网页-POST方法
- 将网页上的链接重定向到javascript函数
- 用户在文本框中输入一个数字,并根据使用 PHP 输入的数字重定向到另一个网页
- 更改“将图像另存为”的操作以重定向到相应的网页
- 如何有条件地将引用人重定向到不同的网页
- Firefox弹出窗口“;这个网页被重定向到一个新的位置“;在每个requestPromise ajax调用上,有什么方
- GreaseMonkey:立即重定向到特殊网页
- 使用javascript将网页从日志重定向到域
- 访问另一个网站后重定向回自己的网页
- 安卓网页视图位置重定向
- Visual Studio 13,将HTML5网页重定向到外部网站
- 是可以用户刷新网页并同时重定向到另一个URL
- 提交表单后,网页重定向到 servlet URL,但我想重定向到另一个页面
- 从一个网页重定向到另外两个网页
- 如何在提交表单元素后将网页重定向到不同的网页
- 用户登录后将所有网页重定向到HTTPS
- 当屏幕分辨率超过时,将网页重定向到移动版本
- 将网页重定向到文件
- 创建一个简单的网页重定向系统在WP基于id
- 从android webview中的网页重定向