2012-12-20 49 views
0

我有一个JavaScript,其中我使用$ .post()命令将变量发布到一个php文件,我有php文件的URL在相同的.js文件中硬编码。

我只想知道是否有人可以从地址栏注入$ .post()命令并将无效数据发送到PHP文件?

如果是,如何防止或如何检测这些无效数据?

+1

从地址栏中注入'.post()'并不清楚你的意思。但是,有人可以随时篡改HTTP。您的代码应该以防篡改安全的方式编写。 – Candide

回答

5

是的,任何知道如何使用JavaScript编码的人都可以向您的PHP文件发送AJAX POST请求。

至于如何检测无效数据,那完全取决于什么使得数据无效。您只需根据希望有效数据满足的任何条件检查POST值,然后忽略任何不符合这些条件的请求。

1

是的,它非常简单。攻击者可以修改,添加或删除浏览器中运行的任何JavaScript,修改DOM等。Firebug等工具允许任何人从控制台调用任意JavaScript。此外,可以简单地使用curl来运行您的服务器并发送任意数据。

如果是,如何防止或如何检测这些无效数据?

您必须确保服务器端的数据有效性和完整性。此外,您可能希望在服务器端添加一些安全性,并且不依赖某些JavaScript功能被“隐藏”。

1

当然,用你想一个网站javascript:方案,你可以做很多事情前面加上脚本:

javascript:$.post(/* stuff here */) 

你应该总是验证在服务器端的输入数据,因为这不仅可能有人使用您的网站上的JavaScript来做到这一点,但他们可能会使用其他工具,如curl或其他任何可以让您发起http请求的工具。

相关问题