表单验证主要在JavaScript中进行,只有安全验证服务器端

时间:2012-03-07 18:07:28

标签: php validation webforms codeigniter-2

我正在构建一个模糊的应用程序,该应用程序仅在涉及注册过程后才可用,因此不应经常提交恶意数据。

我使用Codeigniter 2.1来过滤所有POST变量。 Codeigniter使用PHP函数mysql_real_escape_string以及其他措施来防止通过POST数据进行SQL注入攻击。

我使用JavaScript完成所有验证客户端。 JavaScript验证运行良好。当然,用户可以使用cURL或其他一些实用程序绕过客户端验证,但Codeigniter中的库存PHP验证应该阻止SQL注入,对吗?

我可以在客户端进行验证并信任Codeigniter来保护数据库免受SQL注入攻击吗?

2 个答案:

答案 0 :(得分:2)

这是codeigniter声称的。您可以在system / core / Security.php文件中找到它

  

清理数据,以防止跨站点脚本攻击。   这个功能做了相当多的工作,但它非常彻底,   旨在防止即使是最模糊的XSS尝试。没有什么是   当然,100%万无一失,但我无法得到   任何东西都通过过滤器。

答案 1 :(得分:1)

这很简单恕我直言。如果它使用mysql_real_escape_string,则在所有情况下都不安全。有关详细信息,请参阅此答案:Best way to prevent SQL Injection in PHP

除了你不安全之外,它还使用过时的函数与mysql交谈。

另外:您应该始终进行服务器端验证!永远不要相信客户端!