【问题标题】:pass secure data to jquery from php将安全数据从 php 传递给 jquery
【发布时间】:2011-07-08 05:36:52
【问题描述】:

我有一个令牌变量,我使用 php 获取并使用 data-value 参数写入 div,以便 jquery 可以获取它。我不希望用户看到,所以我想知道是否有可能

  1. 在前往 jquery 的途中隐藏此数据(在 data-value 参数中)
  2. 加密 Jquery 中的数据,以便在显示标头或发送的参数时,令牌已加密或不可见

变量 token=$('#token').attr('data-value');

    $.ajax({
    type: "POST",
    data: "action=edit&token=" + token,
    url: "doc.php",
    dataType: 'json',
    success: function(response, statusText)

【问题讨论】:

    标签: php jquery html


    【解决方案1】:

    实际上不可能以任何对真正想看到该令牌的坚定用户安全的方式来执行此操作。

    【讨论】:

    • 那我怎样才能阻止人们找到那个令牌,然后向我的 php 脚本发送请求以执行我不想执行的命令?我正在使用令牌来验证用户是否已登录并且是真实的,我想如果我可以隐藏它,那么用户将无法发送自定义请求,因为他不知道哪个令牌与他的用户名匹配。
    • 在不暴露您的实现细节的情况下编写您的应用程序。即,不要将 PHP 脚本视为您通过 URL 访问的 shell 脚本。
    • @wanovak 我喜欢这句话,但如果他们看到 jquery 帖子有 4 个变量,包括令牌,为什么他们不能只发布一个包含令牌在内的 4 个变量的请求以使脚本工作?有人给我的印象是人们可以做那样的事情。这是真的吗?
    • 您可以以这样一种方式开发您的应用程序,即他们是否知道令牌并不重要。如果你能告诉我们更多关于你在做什么,我们可以具体说明如何做。
    【解决方案2】:

    这篇文章听起来很相似:

    Obfuscating POST variables between Javascript & PHP

    我不知道隐藏参数的方法。您可以使用“Fiddler”之类的调试代理来处理几乎所有的请求数据。

    【讨论】:

      【解决方案3】:

      保护 Web 客户端和服务器之间的数据安全的唯一方法是使用 SSL 加密通道。客户端需要阅读才能使用的任何内容(即 任何在 javascript 中操作的内容)都将对确定的用户可见。

      如果有一些甚至用户都不应该看到的秘密数据,则需要完全在服务器端进行处理,而无需将这些数据发送到浏览器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-06-09
        • 1970-01-01
        • 2015-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-10
        相关资源
        最近更新 更多