【发布时间】:2016-10-24 10:18:44
【问题描述】:
我有一个名为 script.php 的脚本文件,可通过“Window.location 从另一个名为 main.php 的 php 文件访问它“ 命令。我想防止直接访问文件,即没有人可以在 URL 栏中键入 script.php 并查看文件的内容。但我希望我的 main.php 能够使用 window.location 重定向到 script.php。有什么办法吗?
我曾尝试使用 Debug Backtrace 和 preg_match(),但它们也阻止了 main.php 中的 window.location。有什么办法可以解决这个问题?
【问题讨论】:
-
根据定义这是不可能的。这意味着您发布和不会同时发布某些资源。你必须自己决定......
-
htaccess 和漂亮的 url 可以解决问题stackoverflow.com/questions/25080835/pretty-urls-with-htaccess
-
一种方法是,您可以在
main.php中设置一个会话,然后在script.php中检查该会话是否存在。如果会话存在,您可以允许访问。并且不要忘记在其他页面的开头取消设置该会话。否则你不能这样做。 -
您可以查看script.php文件中的'referer'标头。
-
用户仍然可以使用开发工具进行查看。正如@arkascha 提到的,任何客户端都需要发布。
标签: php jquery apache security web