【问题标题】:switching from GET to POST ajax with tablesorter使用 tablesorter 从 GET 切换到 POST ajax
【发布时间】:2013-06-30 03:23:22
【问题描述】:

我在ajax pager mode 中使用tablesorter。我需要保护我的 JSON 数据,那么如何从 GET 切换到 POST。还有其他方法可以保护数据不通过浏览器中的 url 访问吗?

【问题讨论】:

    标签: jquery ajax json security tablesorter


    【解决方案1】:

    生成一个随机值并将该随机值存储在会话变量中。在 ajax 请求中包含随机值。

    如果随机值缺失或者不等于会话变量拒绝访问json数据。

    在包含 json 数据的 PHP 页面中,将这段代码粘贴到开头。

    session_start();
    if(!isset($_REQUEST['randomVal']) || ($_REQUEST['randomVal'] != $_SESSION['randomVal'])) {
        echo "Direct Access to the page denied";
        exit();
    }
    

    【讨论】:

    • 这很容易作弊,使用 GET 可以通过 DOM 操作轻松更改以伪造请求和 cookie/会话。
    • 您使用的是 AJAX 对吗?更改每个请求的随机令牌,即在 PHP 页面中。它使攻击者的事情变得困难。我们也可以对java脚本进行编码。 scriptasylum.com/tutorials/encode-decode.html
    • 我在会话中使用了 HTTP_REFERER 令牌,但是为了关闭这个大漏洞,你必须在 tablesorter ajax 调用上从 GET 切换到 POST。
    • 由于您使用的是javascript GET/POST 没有关系,任何人都可以查看脚本并了解请求是如何发送的。
    • 毗湿奴我们都知道这一点,这就是为什么我们喜欢做一些事情来防止查看数据本身。
    猜你喜欢
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 2011-08-04
    • 2018-10-18
    • 2013-07-21
    相关资源
    最近更新 更多