我有一个使用框架的网站。是否仍然可以从浏览器中让某人使用地址栏为其中一个框架制作发布数据?其中 2 个框架是静态的,另一个框架具有使用 post 进行通信的 php 页面。这似乎不可能,但我想确定一下。
6 回答
不,不能从地址栏发布数据。您只能通过向 URL 添加参数来从那里发起GET请求。不能以这种方式附加 POST 正文。
不管怎样,很有可能将 POST 请求发送到您的网络服务器以获取框架中的页面。HTTP 只是您的浏览器和网络服务器相互通信的协议。HTTP 对帧或 HTML 一无所知。框架中的页面有一个 URI,就像任何其他页面一样。当您单击一个链接时,您的浏览器会询问服务器是否有该 URI 的内容。服务器将检查它是否具有该 URI 的内容并做出相应的响应。它不知道它会返回什么。
使用Firefox 的 TamperData或IE 的 Fiddler等工具,任何人都可以轻松地修改发送到服务器的 HTTP 请求。
无论来源和/或环境如何,阵列中的任何数据$_REQUEST
都应被视为同等武装和危险的。这包括$_GET
、$_POST
和$_COOKIE
。
不能在地址栏中添加 POST 数据。
您应该始终检查和清理您在 PHP 代码中获得的所有数据,因为任何人都可以将数据发布到您的所有页面。
不要相信来自页面外部的数据。清洁并检查。
是的,他们绝对可以,使用像 Firebug 这样的工具,以及显然更专业的工具,比如 Gordon 列出的工具。此外,即使他们无法在您网站的浏览器中执行此操作,他们也可以始终创建自己的表单,或通过脚本或命令行工具提交发布数据。
您绝对不能依赖客户端的安全性。
也许不是来自浏览器,但他们仍然可以使用 burp proxy 之类的工具捕获请求(对其进行修改)并将其转发到提供的目的地。
回答您的问题:不,不能使用地址栏发送帖子数据。
但是可以快速将帖子数据发送到任何 url。例如使用 cURL 或 Firefox 扩展。因此,请务必验证和清理您收到的所有数据,无论是 POST 还是 GET 或 UPDATE 等等。
这不是 iFrame 或 php 特定的,因此应该在每个 web 应用程序中考虑它。永远不要依赖任何人发送的数据是否正确、有效或安全——尤其是用户发送的数据。