2011-02-04 79 views
0

我有一个服务器不支持PHP的静态形式:如何阻止访问除PHP中的一个IP之外的脚本?

<form action="http://otherserver.com/process_form.php" 

我需要的文件process_form.php脚本,如果该请求是由服务器的静态IP只发送处理静态表单托管在其上。这个怎么做?

如果有其他人知道该ip正在尝试请求该脚本,该脚本应立即终止。

回答

4

这不会按照你想要的方式工作,因为IP将是客户端的IP,绝不是托管该表单的服务器。

您正在寻找测试

$_SERVER["HTTP_REFERER"] 

头变量。这会告诉你哪个页面的原始表单托管在 - 但是,这是不安全的。这个头文件由客户端设置,可以自由操作。

1

正如Pekka指出的那样,HTTP引用者很容易被欺骗。从安全角度来看,这不会解决任何问题。

另请注意,某些客户端和浏览器插件将引用者设置为空字符串。确保这些仍然可以访问您的表单。

相关问题