你能将$ _POST发送到外部托管的php文件吗?

时间:2011-03-30 08:11:26

标签: php security post

这是一个安全问题,所以我不是在寻找如何这个的解决方案,我只是想确保无法完成

假设我有一个名为login.php的文件,它在线托管并正常运行,让我们说http://www.rimmer.sk/login.php

现在,让我们图片这个文件如下所示:

<?php
if (isset($_POST['register'])){
   echo 'all is done !';
}
?>

问题:您可以在外部向我的文件发送$ _POST ['register'],还是只能在同一个虚拟主机中托管的文件内部完成?

5 个答案:

答案 0 :(得分:2)

可以做到。每个人都可以向您发送POST(或GET,就此而言)请求。没有限制禁止来自虚拟主机外部的请求。

(也许不适合你,也许不是,但不是每个人都可以设置你的$_SESSION,所以外部域名不能改变它)

答案 1 :(得分:0)

简而言之,它可以从外部网站发布。

答案 2 :(得分:0)

是的,这可以很容易地完成。看看:http://php.net/manual/en/book.curl.php

答案 3 :(得分:0)

当然,我可以从外部位置发帖,毕竟这是用户浏览器提交表单时所做的事情。因此,我可以编写一个脚本,轻松地将注册字段发布到您的服务器。

您想象的是什么用例?有很多安全选项(防火墙等),但不知道你想要实现什么,很难给出细节。

拒绝脚本攻击的一种方法是在服务器上生成一次性密码,并使用每个注册表单发送到浏览器,然后当您收到回复时,检查OTP是否有效。这至少增加了另一层安全性。

但正如我所说......在不知道更多的情况下,很难具体。

答案 4 :(得分:0)

  

或者这只能在同一个虚拟主机中托管的文件内部完成吗?

完全相反。 不能仅在内部完成。实际上,表单不是从服务器内部发送的,而是来自用户浏览器的