【问题标题】:is it safe to pass data via ajax?通过ajax传递数据安全吗?
【发布时间】:2012-12-08 05:54:57
【问题描述】:

我创建了脚本,该脚本将使用此命令计算某些特定 div 的子 div

$('#content').children().size()

通过这个计数,如果这个计数是 12,我知道从 mysql 获取 12 到 18。 使用萤火虫,我可以找出将发布到我的脚本的这个计数,我想有没有办法增加这个大小以某种方式从我的数据库中获取更多详细信息?从 ajax 传递这些数据是否安全?

2-有人可以以任何方式发布数据或模拟发布吗?例如模拟将通过data=2&foo=3&bar=4 这样的形式发布的数据并在服务器上作弊?

【问题讨论】:

  • 'Safe' 是相对的。基本上 AJAX 只不过是一个基于 JavaScript 的纯 HTML 请求。所以它并不比这样的安全。为了使其“安全”,您可以使用 HTTPS 来加密连接。这样,你应该能够防止注射和东西。关于作弊……如果一个人真的想,他可以。您唯一能做的就是仔细检查参数,从而发现异常情况。也许添加一个隐藏的校验和,它只允许特定的选项。
  • 我相信这条评论回答了这个问题,它应该作为答案而不是评论给出。
  • 如果作弊是指在控制台中绑定$.ajax({ ... }),那么答案总是有可能的。

标签: php ajax form-data


【解决方案1】:

检查这个link,它很有用

  • 检查身份验证和授权
  • 对导出到浏览器的数据进行加密或添加加盐哈希检查以供重新提交
  • 将请求中收到的任何数据视为潜在危险
  • 在适当的地方使用 HTTPS
  • 使用正确的方法转换离开 PHP 的数据(htmlentities、mysql_real_escape_string
  • 使用基于其来源的正确方法(例如 json_decode)转换输入脚本的数据

【讨论】:

  • mamnoon sirwane aziz +1 baraye to
【解决方案2】:

根据我的评论,再次作为答案。

“安全”是相对的。基本上 AJAX 只不过是一个基于 JavaScript 的普通 HTTP 请求。所以它并不比那样的安全。为了使其“安全”,您可以使用 HTTPS 来加密连接。这样,你应该能够防止注射和东西。关于作弊......如果一个人真的想,他可以。您唯一能做的就是仔细检查参数,从而发现异常情况。也许添加一个隐藏的校验和,它只允许特定的选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-24
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    相关资源
    最近更新 更多