我一直在使用base64_encode
从<textarea>
窗体保存html并将数据存储在数据库中。检索时使用base64_decode
并将数据放入文本区。如果不使用mysql_real_escape_string()
,安全吗?使用base64_encode而不是mysql_real_escape_string安全吗?
我在使用mysql_real_escape_string
时,检索模板id
的$_GET
参数。
templates.php?id=4
但是使用Base64保存HTML还保留任何恶意SQL代码人们可能会在textarea的补充。到目前为止,我没有遇到任何问题。
这是不好的做法,使用base64而不是mysql_real_escape_string()
?
“错误的工具”?
注:我使用htmlspecialchars($text, ENT_QUOTES);
为xss。
请不要使用古老的'mysql_ *'函数编写新代码。他们不再被维护,社区已经开始[弃用流程](http://news.php.net/php.internals/53799)。相反,您应该了解准备好的语句并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。如果你关心学习,[这里是一个很好的PDO相关教程](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 –
你真的想要在你的数据库中存储base64 blob吗?它不仅浪费空间,还会阻止您对数据库中的数据执行任何操作。 – deceze
@deceze没关系。我不会在存储的html上运行查询,但是其他部分是我逃过mysql的。 – Kyle