php – 如何直接在URL中拒绝用户访问脚本

前端之家收集整理的这篇文章主要介绍了php – 如何直接在URL中拒绝用户访问脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个jQuery脚本使用.live()来加载它的页面内容.
$('#content').load("content.PHP?" + id);

问题:如何拒绝用户通过URL直接访问文件content.PHP

我试图将此代码放在content.PHP之上,但Access Denied出现在我的#content div中

if (!empty($_SERVER['SCRIPT_FILENAME']) && 'content.PHP' == basename($_SERVER['SCRIPT_FILENAME']))
    die('Access Denied');

确保用户无法使用URL访问我的content.PHP文件的正确方法是什么?

你可以使用某种散列.例如,如果content.PHP具有参数id;你添加一个额外的参数哈希,其中包含“’某个随机字符串’id * 15”的MD5哈希值.在content.PHP中,你检查哈希& id匹配;如果没有拒绝访问.

计算必须在PHP(而不是ajax)中完成,因为用户必须不知道散列algprithmus.

使用此方法,用户可以直接查找源代码并访问页面,但您不能完全禁止页面,因为浏览器需要访问页面才能显示它.但用户无法访问之前未通过ajax访问的页面.您可以使用一些标头(HTTP_X_REQUESTED_WITH)来阻止大多数互联网用户直接访问该页面,但有经验的用户无论如何都会更改标题并访问它.

猜你在找的PHP相关文章