如何检查是否从同一服务器发送了请求?
说,我的网域位于www.domain.com。现在,我有php处理文件,它将处理通过该域托管的表单。仅当请求是从域内发送时才执行此过程。www.domain.com以及从其他域发送的任何其他请求将被丢弃。
基本上:您不能。 使用HTTP协议,每个请求彼此独立。
第一个想法是检查Referer HTTP标头,但请注意:
因此:不是一个可靠的解决方案。
一种可能的方法(比Referer的想法好得多)是使用 nonce :
如果这两个值不相同,请拒绝使用提交的数据。
注意:此想法通常用于帮助对抗 CSRF 并集成在某些框架的“表单”组件中 ( 例如Zend Framework)。