这是一个安全问题,所以我不是在寻找如何做这个的解决方案,我只是想确保无法完成。
假设我有一个名为login.php
的文件,它在线托管并正常运行,让我们说http://www.rimmer.sk/login.php
现在,让我们图片这个文件如下所示:
<?php
if (isset($_POST['register'])){
echo 'all is done !';
}
?>
问题:您可以在外部向我的文件发送$ _POST ['register'],还是只能在同一个虚拟主机中托管的文件内部完成?
答案 0 :(得分:2)
可以做到。每个人都可以向您发送POST(或GET,就此而言)请求。没有限制禁止来自虚拟主机外部的请求。
(也许不适合你,也许不是,但不是每个人都可以设置你的$_SESSION
,所以外部域名不能改变它)
答案 1 :(得分:0)
简而言之,它可以从外部网站发布。
答案 2 :(得分:0)
是的,这可以很容易地完成。看看:http://php.net/manual/en/book.curl.php
答案 3 :(得分:0)
当然,我可以从外部位置发帖,毕竟这是用户浏览器提交表单时所做的事情。因此,我可以编写一个脚本,轻松地将注册字段发布到您的服务器。
您想象的是什么用例?有很多安全选项(防火墙等),但不知道你想要实现什么,很难给出细节。
拒绝脚本攻击的一种方法是在服务器上生成一次性密码,并使用每个注册表单发送到浏览器,然后当您收到回复时,检查OTP是否有效。这至少增加了另一层安全性。
但正如我所说......在不知道更多的情况下,很难具体。
答案 4 :(得分:0)
或者这只能在同一个虚拟主机中托管的文件内部完成吗?
完全相反。 不能仅在内部完成。实际上,表单不是从服务器内部发送的,而是来自用户浏览器的