FILTER_SANITIZE_STRING是否足以避免SQL注入和XSS攻击?

| 我正在将PHP 5与SQLite 3类一起使用,并且想知道将PHP内置数据过滤功能与标志​​FILTER_SANITIZE_STRING配合使用是否足以阻止SQL注入和XSS攻击。 我知道我可以去抓一个大型的丑陋的PHP类来过滤所有内容,但是我想保持代码尽可能整洁和简短。 请指教。     
已邀请:
        
SQLite3
类允许您准备语句并将值绑定到它们。那将是您数据库查询的正确工具。 至于XSS,那与您使用SQLite完全无关。     
        对XSS和SQLI使用相同的清理功能从来都不是明智之举。对于XSS,可以在输出到HTML之前使用htmlentities过滤用户输入。对于SQLite上的SQLI,可以在使用SQLite构造SQL查询之前,使用准备好的语句(更好)或使用escapeString过滤用户输入。     
        我认为它足以保护您的字符串数据输入,但是您可以选择许多其他选项。例如其他库会增加您的应用程序处理时间,但会帮助您处理/解析其他类型的数据。     
        如果您只是想构建一个简单的表单,并且不想引入任何繁重甚至轻巧的框架,请使用php过滤器+并将PDO用于数据库。这将保护您免受跨站点请求伪造之外的所有攻击。     
        如果您对自己对安全性问题的理解不够信任,不足以提出这个问题,那么您如何信任这里的某个人给您一个很好的答案? 如果您迟早要删除不想要的字符,那么您将要删除用户想要键入的字符。最好针对使用数据的特定上下文进行编码。 签出OWASP ESAPI,它包含许多编码功能。如果您不想占用那么大的库,请查看函数的功能并将相关部分复制到代码库中。     

要回复问题请先登录注册