我有一个包含 2 个文本区域的表单;第一个允许用户发送 HTML 代码,第二个允许发送 CSS 代码。如果语言正确,我必须使用 PHP 函数进行验证。
如果语言正确,为了安全起见,我必须检查没有 PHP 代码或 SQL 注入(inject)或其他任何东西。
你怎么看?有没有办法做到这一点 ? 我在哪里可以找到这种功能?
是“HTML 净化器”http://htmlpurifier.org/一个好的解决方案?
最佳答案
如果您必须验证日期才能将它们插入数据库 - 那么您只需在将它们插入数据库之前使用 mysql_real_escape_string() 函数。
//Safe database insertion
mysql_query("INSERT INTO table(column) VALUES(".mysql_real_escape_string($_POST['field']).")");
如果您想将数据作为纯文本输出给最终用户 - 那么您必须通过 htmlspecialchars() 转义所有 html 敏感字符。如果您想将其输出为 HTML,则必须使用 HTML Purify 工具。
//Safe plain text output
echo htmlspecialchars($data, ENT_QUOTES);
//Safe HTML output
$data = purifyHtml($data); //Or how it is spiecified in the purifier documentation
echo $data; //Safe html output
关于php - 验证代码语言的PHP函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4984780/