【发布时间】:2011-10-30 23:00:06
【问题描述】:
我正在创建一个依赖于对 PHP 页面的 AJAX 调用的站点。有没有办法防止访问原始数据? (即通过他们自己的发布请求访问 php 文件)。
我猜想最好的方法(如果可能的话)是阻止 PHP 将数据发送到不是来自 AJAX 的任何东西(因为它必须来自同一个域)。有什么建议吗?
【问题讨论】:
-
请注意,此方法并非 100% 保存。像 HTTP_X_REQUESTED_WITH 这样的 HTTP 标头可以很容易地被欺骗。另外,之前有人问过这个问题:stackoverflow.com/questions/1756591/…
-
@Luwe:这个问题和这个问题有什么共同点?
-
@Evan:但是,这并没有起到太多的“预防”作用。即使是一个不太坚定的入侵者,它也很容易伪造。我能想象到的所有其他东西也是如此——如果你提供的 Javascript 告诉浏览器如何请求数据,那么每个看到 Javascript 的人都可以自己做同样的事情。
-
您的 PHP 后端 should be an API 到基于 Web 的表示层。如果用户可以手动访问 API 存在问题,则 API 已损坏。否则,这不是问题,您可以继续进行一些建设性的工作。