如何限制Ajax调用的文件的直接访问
利用Ajax调用PHP代码时,如查询所示,数据通过检查请求标头,正在传输的数据可能很容易暴露。虽然数据可能不是机密的,但其被利用的可能性仍然存在。
为了解决这个问题,一个常见的解决方案是利用 HTTP_X_REQUESTED_WITH 标头。该标头通常由 Ajax 请求/框架设置,可以区分 Ajax 和非 Ajax 请求。以下代码片段展示了其实现:
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) { // Allow access within Ajax requests } else { // Block access outside of Ajax requests }
在Javascript代码中,您可以手动设置此标头:
var xhrobj = new XMLHttpRequest(); xhrobj.setRequestHeader("X-Requested-With", "XMLHttpRequest");
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3