背景很少。 我正在建立一个帐户系统论坛。
所以很自然地,他们必须将数据插入数据库,而不是在论坛中发言。
让用户在textarea中输入数据最安全的方法是什么?
是否离开以便他们不能只输入DROP TABLE 'USERS'
或其他可能影响我的论坛的内容?
现在我知道有一些解决方案,但我怎么能这样做,以便他们能够使他们的文本看起来很好(<h1>,<img>)
等,但不能做正确的SQL查询?
有点像这个页面,我可以在这里输入各种各样的外观,但我无法做任何事情来伤害页面。
感谢。
-Kevin
答案 0 :(得分:1)
{strong> SQL注入
mysqli_real_escape_string或Prepared statements要保持 HTML注入,请不要做任何事情。查询已经容易受到HTML注入的攻击。</ p>
在您的情况下,您可能只想为论坛帖子使用编辑器,例如:TinyMCE
答案 1 :(得分:0)
你需要做(至少)两件事:
您的数据库用户应该只在指定的表格上提供所需的授权 - 因此GRANT INSERT on yourtable TO youruser
代替GRANT ALL on yourtable TO youruser
在PHP代码中使用prepared statements,确保自己sql injection
安全