如何在网站上安全地发布代码示例?

时间:2015-04-21 08:07:14

标签: php mysql security

我正在构建一个允许用户发布代码的评论系统。关于输入,我应该担心哪些安全方面?在将数据存储到数据库之前,是否足以通过XSS过滤器运行输入并转义特殊字符?像这个功能:

function clean($conn,$input){
$input=htmlentities($input);
$input=mysqli_real_escape_string($conn,$input);
return $input;
}

1 个答案:

答案 0 :(得分:4)

代码只是文字。代码没有什么特别之处,需要你做与常规文本不同的任何事情(除了可能使用white-space: pre CSS属性):

  1. 在创建SQL查询时,通过SQL-escaping正确防止SQL注入,最好使用预准备语句。请参阅How can I prevent SQL injection in PHP?
  2. 正确转义文本以输出为HTML(输出到HTML时,而不是之前,而不是之后)。请参阅How to prevent XSS with HTML/PHP?
  3. 那就是它。完成。如果需要,请参阅The Great Escapism (Or: What You Need To Know To Work With Text Within Text)以获取更多背景信息。