Dar*_*ein 9 php authentication
我想知道当你想要进行升级并且你有登录的用户时,人们如何踢人或阻止访问网站.
我的想法是将bool设置放在全局文件(例如设置文件)中,以确定该站点是否不可用.True可用,而false不可用.如果为false,则下次用户尝试访问该站点时,他们将被注销或仅显示不可用的消息.
我用这种方法可以看到两个问题:
如果用户只是填写长篇文章或写大部分文本(如SO上的新问题或答案),一旦他们提交表格,他们就会丢失这些信息.(不能总是保存它,因为可能已经更改了该表或代码的DB更改.)
可能:在繁忙的站点上,编辑全局文件,如果它超过几行,如果该页面在部分上载或保存时加载,则可能导致PHP解析错误.根据配置的不同,文件上可能还存在锁定问题.
另一种选择是在数据库中使用相同的设置.目前,我通常没有设置表,所以这将是表中唯一的东西,但我可以看到它更快,因为它避免了第二个问题.
您使用过的东西是否运作良好或其他任何想法?
我正在和LAMP合作.
您可能想利用网络服务器重定向。对于 Apache,.htaccess用于将用户重定向(或重写 url)到静态维护页面的文件:
RewriteRule ^updating.*$ $0 [NC,U,QSA,L]
RewriteRule .* /updating/ [NC,U,QSA,R=307,L]
Run Code Online (Sandbox Code Playgroud)
如果您想在维护模式下自己访问该站点,您可以将特定且希望唯一的字符串附加到 useragent 标头:
RewriteRule ^updating.*$ $0 [NC,U,QSA,L]
RewriteCond %{HTTP:User-Agent} !MY-CUSTOM-UA-STRING [NC]
RewriteRule .* /updating/ [NC,U,QSA,R=307,L]
Run Code Online (Sandbox Code Playgroud)
以下是在 Firefox 中操作用户代理的方法:
创建一个about:config名为“MY-CUSTOM-UA-STRING”的新密钥general.useragent.extra.XYZ并将其设置为“MY-CUSTOM-UA-STRING”或您希望的任何其他值。Firefox 会将字符串附加到 UA。
如果使用 Chrome,请尝试新的移动模拟功能,该功能允许您直接从开发工具修改用户代理字符串。
正如您自己提到的,替代解决方案可能是在服务器端设置配置标志。在这样做之前,我建议您保存用户在网站上正在进行的所有操作,并让她在维护期后恢复这些操作。另外,提前让他们知道维护的具体时间。
| 归档时间: |
|
| 查看次数: |
349 次 |
| 最近记录: |