如何防止用户手动进入某个页面

WBOY
發布: 2016-06-13 13:20:19
原創
879 人瀏覽過

怎么防止用户手动进入某个页面?
网站根目录下有与INDEX.PHP并列的PRIVATE.PHP页面,我现在只允许它被客户端程序调用,不允许被用户手动进入(比如:http://127.0.0.0/private.php),怎么设置?

------解决方案--------------------
判断他的来源请求地址或获取上一次请求地址

$_SERVER['HTTP_REFERER'];

这个不行可以考虑用js实现
------解决方案--------------------
最优的是$_SERVER['HTTP_REFERER'];做来源监测
另一种是设定session权限鉴定,普通用户session进行跳转或返回404头
可者是通过get或post一个参数来鉴权,对于不知规则的用户来说,突破也很困难
------解决方案--------------------
不一定要用session啊
你在PRIVATE。php 也是设定一个变量
例如 
if($flag == '值')
...
else
exit;...

你客户端调用的时候传这个值到这个页面获取它的值

这个值你可以自己设定
------解决方案--------------------
客户端传递加密数据 服务器端进行解密校对

剩下的不用我说了吧
------解决方案--------------------
1.客户端安装后,生成自己的公私钥,通过HTTPS保护自定义协议将GUID和公钥提交上去。

2,今后客户端连接服务端,首先使用私钥加密GUID,然后同GUID一起提交,服务端根据GUID选择对应的公钥解密验证GUID成功则认为客户端正常以便下发用于SESSION的COOKIE。

其实关键就2点:

1,客户端安装后初次HTTPS连服务端,如果认为服务器可能欺诈则客户端可以要求CA验证服务端发来的证书,否则可以直接信任服务端证书,并通过公私钥加密交换对称密钥完成客户度公私钥的提交。

2,其实就是HTTPS保护下完成信任关系的配置,玩过SCP/SSH的同学应该有数。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!