filter_var
对过滤数据有用吗?它会过滤什么样的不良数据?我确实使用 mysql_real_escape_string
但我想知道添加 filter_var
是否有帮助?
最佳答案
如果可能,为了防止 SQL 注入(inject),请使用准备好的语句。如果不是,请对字符串使用 mysql_real_escape_string,对整数使用 (int) 强制转换或 intval(),对 float 使用 (float) 或 floatval(),对要在 LIKE 语句中使用的字符串使用 addcslashes($input, '%_')。尝试转义要在 RLIKE 语句中使用的字符串时,事情会变得更加复杂。
对于过滤 HTML 内容,最好的方法是 strip_tags(不传递 $allowable_tags),但是……您可能不喜欢/不想要它,在这种情况下,最实惠的解决方案是:
$escaped = htmlspecialchars($input, ENT_QUOTES, $your_charset);
更可靠的解决方案是使用像 HTML Purifier 这样的库。
过滤器函数是可以的,但其中一些比过滤器更多的验证器。根据您的需要,您可能会发现其中一些很有用。
关于php - filter_var 是个好方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/659197/