【发布时间】:2016-04-23 15:00:00
【问题描述】:
我有一个来自我网站的一个特定页面的简单发布请求:
reqdata = 'text=' + mytext;
$.ajax({
type: "POST",
url: "/request.php",
data: reqdata,
cache: false,
success: function(html) {
alert(html)
}
});
它转到同一站点的另一个页面..所以第一页调用页面mydomain.com/test.php调用http请求到mydomain.com/request.php
如何在页面mydomain.com/request.php 上识别请求来自的原始页面是mydomain.com/test.php?
我希望确保请求只能从这个确切的页面mydomain.com/test.php 完成,而不是来自其他域或页面。
我使用 ajax 和 javascript 执行请求,因此我认为我无法添加隐藏身份验证来确保整个事情是安全的。因为每个值都是在原始页面源代码上看到的。
【问题讨论】:
-
php superglobal
$_SERVER['HTTP_REFERER']可能会有所帮助 -
@JeffPuckettII
$_SERVER['HTTP_REFERER']不被推荐/不可靠,这就是为什么stackoverflow.com/a/6023980 - 编辑:无论谁支持该评论,都没有读过这篇文章。 -
你不能保证传入的 HTTP 请求的来源
-
感谢 @Fred -ii - 的参考,我之前也想知道,好好阅读
-
@JeffPuckettII 不客气,杰夫。
标签: javascript php ajax http-post