例如我们有这个网址: https://www.domain.com/pdf.php?url=http://www.domain.com/report.php?id=341
我想知道是否有可能以report.php
pdf.php
试图打开访问权限report.php?id=341
使用PHP进行检测。
如果可能,我稍后会限制该报告。只能通过pdf.php,invoice.php等调用.php。
BASICALY我想确保server.php是服务器请求的,而不是人。
是否存在安全隐患?
我希望我的问题有道理。提前谢谢。
答案 0 :(得分:1)
您可以使用
查看用户的来源$_SERVER['HTTP_REFERER']
例如
if ( $_SERVER['HTTP_REFERER'] == "valid_url.php" ) ...
然而,这不安全,因为php手册指出:这是由用户代理设置的。并非所有用户代理都会设置此功能,有些用户可以将HTTP_REFERER修改为功能。简而言之,它无法真正被信任。
答案 1 :(得分:1)
您可以尝试使用以下内容显示$ _SERVER数组的完整内容。它会显示您正在寻找的所需变量。
print_r($_SERVER);
答案 2 :(得分:0)
将您的逻辑添加到pdf.php
,invoice.php
等等要好得多。
你应该处理GET / POST参数。
如果您正在使用普通PHP制作一些功能并将其放在所有其他Web可访问的php文件的开头。例如。
if(!check_get_from($_GET)) die;
但最佳做法是只有一个入口点(index.php)。