【问题标题】:PHP Prevent Direct AccessPHP 防止直接访问
【发布时间】:2012-12-17 16:12:21
【问题描述】:

有没有办法让浏览器直接访问

http://www.example.com/test.php

直接查看网址时不可用,但仍允许

JQuery $.get('http://www.example.com/test.php') function

读取文件?我知道这可能是不可能的,因为我相信在我的浏览器中输入 http://www.example.com/test.php 与在客户端使用 $.get() 函数基本上是一样的。但我不知道是否有任何解决方法为此。

【问题讨论】:

    标签: php javascript jquery .htaccess webserver


    【解决方案1】:

    有点,让 php 检查 x-requested-with 标头。如果不存在,请重定向到其他地方。

    但它不会阻止某人使用所述标头发送他们自己的请求。

    【讨论】:

    • 它在 test.php 里面有 cookie,所以我不认为这是一个问题,因为这会淘汰它。另外,即使他们做了所有这些并且以某种方式通过了它也不会世界上最大的交易它只是个人资料信息。但人们有时会窥探并喜欢去源文件,如果你知道我的意思的话。
    • 如果您不介意询问,我将如何检查这些是否已设置并重定向?
    • 这里有一篇博文很好地解释了它:davidwalsh.name/detect-ajax google 搜索的第一个结果。想象一下!
    【解决方案2】:

    你是对的,使用浏览器或 $.get 基本上是一样的。唯一的区别是 AJAX 调用将 X-Requested-With 标头设置为 XMLHttpRequest。不过,这可以通过浏览器扩展添加,因此并非万无一失。

    【讨论】:

    • 如果您不介意询问,我将如何检查这些是否已设置并重定向?
    • 之前的sn-p只是为了查看请求是不是通过AJAX来的。您将只使用if (!isAjax()) { header("Location: somewhere-else.php"); } 之类的条件
    猜你喜欢
    • 2012-09-16
    • 2010-11-05
    • 2010-09-16
    • 1970-01-01
    • 2016-03-04
    • 2010-09-29
    • 1970-01-01
    相关资源
    最近更新 更多