gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 12:49:18 25 4
gpt4 key购买 nike

我有一个 jQuery 脚本使用 .live() 来加载它的页面内容。

$('#content').load("content.php?" + id);

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

我试图将此代码放在 content.php 之上,但访问被拒绝出现在我的 #content div

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

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

最佳答案

您可以使用某种哈希算法。例如,如果 content.php 有参数 id;您添加一个附加参数 hash,其中包含“'some random string' + id*15”的 MD5 散列。在 content.php 中,您检查哈希和 ID 是否匹配;如果不是拒绝访问。

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

使用此方法,用户可以查找源代码并直接访问页面,但您不能完全禁止这样做,因为浏览器需要访问页面才能显示它。但是用户不能访问他之前没有通过ajax访问过的页面。您可以使用一些 header (HTTP_X_REQUESTED_WITH) 来阻止大多数互联网用户直接访问该页面,但有经验的用户会更改 header 并访问它。

关于php - 如何直接在 URL 中拒绝用户访问脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8731159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com