0

我有一个表格,截至目前,您可以输入任何您想要的 javascript 等。任何 XSS 等

我该如何创建白名单,以便您只能发布字符。

在某些时候,我希望任何以开头的东西都http://转换为

<a href="http://..."></a>

谢谢

这有效率吗? http://htmlpurifier.org/

4

2 回答 2

7

jQuery 或 Javascript 是首选

嗯,不,你不能那样做,你明白吗?因为即使您使用 javascript“清理”您的数据,也没有人阻止任何人

  • 关闭 JavaScript
  • 使用浏览器的开发者控制台来处理数据
  • 直接进行 POST,无需浏览器

换句话说,您必须在服务器端执行验证/清理。Javascript 验证可以增强用户的体验(例如,通过对无效输入提供即时反馈)。

于 2010-11-17T08:21:39.753 回答
1

但是,在许多高负载应用程序中,开发人员仍然使用部分客户端验证(但所有输入都必须准备好写入数据库)。

由于您将使用 PHP,我建议您使用 htmlspecialchars()、mysql_real_escape_string() 等解析您的 $_POST 值。

您必须使用正则表达式将任何以“http://”开头的内容转换为链接(当然,您也可以使用explode('.', $_POST['yourInput']),这对您来说更容易)。

于 2010-11-17T09:12:25.943 回答