PHP:允许用户发布带有特定标签的帖子

标签 php html escaping sanitization

我网站上的用户可以发布新闻项目。但现在,就 HTML 而言,这都是荣誉系统。

function postNewsItem($subject, $body, $userid){
  $time = time();
  $subject = mysql_real_escape_string($subject);
  $body = mysql_real_escape_string($body);
  $q = "INSERT INTO news (subject, body, userid) VALUES ('$subject', '$body', '$userid')";
  $result = mysql_query($q, $this->connection);
  return 1;
}

我希望用户能够链接到图像、构建表格、将他们的文字加粗等等,但我不希望他们能够链接到恶意脚本等等。我知道有一些方法可以从用户输入中转义 HTML,但是有没有办法在允许某些标签的情况下做到这一点?

最佳答案

使用 HTML PUrifier .它允许您基本上创建允许标签的白名单,并过滤掉任何其他内容。

关于PHP:允许用户发布带有特定标签的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1397221/

相关文章:

html - 如何在html中设置表单的位置?

javascript - 将 (...) 放在文本末尾特定数量的字符之后

javascript - 如何获取输入的值并将其放入 onclick 中

hive - 如何转义用作 HIVE 列名的保留字?

latex 转义字符

python - 解析此目录路径而不丢失斜杠

php - Symfony - 教义2中的子查询

php - SQL Server 的 mysql_real_escape_string 替代方案

php - 如何仅加载 Zend Framework 2 数据库模块

php - 带有表单选项问题的 Fine Uploader