首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

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

2012-08-25 
怎么防止用户手动进入某个页面?网站根目录下有与INDEX.PHP并列的PRIVATE.PHP页面,我现在只允许它被客户端

怎么防止用户手动进入某个页面?
网站根目录下有与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的同学应该有数。

热点排行