所以,我正在一个人们可以创建线程和响应的网站上工作。 到目前为止,在将数据保存到数据库之前我
在屏幕上显示之前我
恶意用户还有什么其他方法可以解决问题或破坏布局吗?是否有任何特殊的ASCII代码可能会导致问题?感谢。
答案 0 :(得分:2)
我能想到的另一件事是:如果您的数据库输入是一个数字,请对其进行is_numeric检查(或其他检查是否为小数)。
它可以是一个有效的字符串,但它会破坏你的查询,尽管使用mysql_real_escape_string(假设你使用的是mysql api而不是mysqli api)。
答案 1 :(得分:1)
您遗失的一件事是验证针对whiltelist的不受信任的数据。 mysql_real_escape_string将转义数据但仍可能是您不希望在系统中使用的数据。你最好先描述你将允许的内容,并在转义之前拒绝或删除任何其他内容。
请参阅OWASP白名单清除:https://www.owasp.org/index.php/Data_Validation#Sanitize_with_Whitelist