假设我在任何一种情况下都进行相同的字段验证,那么无论您将表单发布回自己的文件还是另一个文件,在安全性方面是否有任何区别?
请注意,我指的不是表单数据中的敏感信息或密码,而是指任何一种方法是否能更好地避免各种类型的攻击。
它没有任何区别。接受表单输入的页面不知道数据来自哪里(HTTP 引荐来源网址很容易被欺骗),任何安全工作都取决于与表单数据来自的页面完全无关的事情。
实际上它确实有所不同——主要是因为如果你发回它自己,它不会创建一个新的历史条目,但是如果你发布到一个不同的页面,它确实会在浏览器中创建一个新的历史条目。这主要对公共终端和记住表单内容的浏览器感兴趣。
我还认为要完全防止这种攻击,您需要进行 301 重定向。那就是您发布到 url,并且 url 以 301 响应将您发送回原始页面。
如果它们都是您服务器上的文件,在您的控制之下,那么它没有任何区别。
不,这根本不重要。您所做的只是向 URL 发送 HTTP 请求。您的服务器处理请求并将响应发送回用户。如果响应恰好与发送请求的页面相同,则不会使应用程序更加安全或容易受到任何类型的 HTTP 攻击。