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

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学习者快速成长!