Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否存在确保POST数据来自特定主机的方法?_Php - Fatal编程技术网

Php 是否存在确保POST数据来自特定主机的方法?

Php 是否存在确保POST数据来自特定主机的方法?,php,Php,我有一个PHP脚本,其中POST数据来自已知源非常重要。从“相似的标题”判断,没有真正的方法可以做到这一点,因为标题可能会被欺骗。服务器地址也可以被欺骗吗?这是否可以用作数据发布来源的某种验证?忽略PHP,依赖请求似乎来自的IP地址是一种相当弱的安全形式。您应该考虑使用HTTPS,并将每个客户端证书分发给每个受信任的源。 SSL一开始可能会让人望而生畏,但您在这里需要的一点都不复杂,您将获得学习它的宝贵技能 if($_SERVER['REMOTE_ADDR'] != '127.0.0.10')

我有一个PHP脚本,其中POST数据来自已知源非常重要。从“相似的标题”判断,没有真正的方法可以做到这一点,因为标题可能会被欺骗。
服务器地址也可以被欺骗吗?这是否可以用作数据发布来源的某种验证?

忽略PHP,依赖请求似乎来自的IP地址是一种相当弱的安全形式。您应该考虑使用HTTPS,并将每个客户端证书分发给每个受信任的源。 SSL一开始可能会让人望而生畏,但您在这里需要的一点都不复杂,您将获得学习它的宝贵技能

if($_SERVER['REMOTE_ADDR'] != '127.0.0.10') {
    die('Not allowed!);
}
// rest of script...

$\u服务器['REMOTE\u ADDR']不是来自客户端提供的头文件(它由apache提供,并从网络堆栈中生成),因此不能被欺骗

可信源是否碰巧位于同一网络中?为什么不检查$_服务器['HTTP\u REFERER']?也许您可以通过获取REFERER、发送回令牌开始此过程,源使用只有我的脚本和源才能知道的salt对其进行编码。他们对它进行编码,如果它没有正确解码,你可以放心地说它不是正确的主机