我目前正在使用以下函数来清理我的$ _POST和$ _GET反对SQL注入.不幸的是,我不能通过它发布代码,例如:" <a href test".Twitter如何做到这一点?
function _secinput($variable)
{return filter_var(mysql_real_escape_string($variable), FILTER_SANITIZE_STRING); }
Run Code Online (Sandbox Code Playgroud)
另外,任何人都可以告诉我是否可以通过任何方式改进它?
roo*_*ook 11
永远不会,也永远不会有一个功能来消毒一切.您必须为工作选择合适的工具.
1)htmlspecialchars($var,ENT_QUOTES)适用于大多数xss.
2)参数化查询库喜欢PDO并且MySQLi最适合sql注入.
3)对于CRLF injection,只需删除新行: str_replace("\n","",$var)
4)用于命令注入使用 escapeshellarg()
还有许多其他形式的注射剂.
| 归档时间: |
|
| 查看次数: |
10797 次 |
| 最近记录: |