【发布时间】:2016-02-21 20:49:41
【问题描述】:
我的应用程序包含几个可通过 AJAX 访问的 PHP 端点。问题是它们也可以通过向同一端点发出 HTTP 请求的任何人访问。我可以按照this answer 的规定添加对HTTP_X_REQUESTED_WITH 和HTTP_REFERER 的检查,但这些检查可能会被欺骗。我可以添加一个需要与请求一起发布的密钥,但是任何查看 javascript 和/或控制台的人都可以看到这个密钥。这里的解决方案是什么?
【问题讨论】:
-
你在担心什么? CSRF?如果是这样,一个令牌就是答案。不过,它是否是 Ajax 并不重要。
-
不,我只是不希望(例如)恶意人员/工具调用诸如“deleteJob”之类的端点,只能由端点所在服务器上的实际网站调用。
-
如果端点是公共的,任何人都可以调用它,不管是不是 Ajax。您需要进行身份验证。
-
是的,我想我的问题是:当每个人都能够看到客户端传递的用户名/密码(例如通过查看控制台)时,客户端身份验证如何工作?
标签: javascript php ajax security endpoint