保护HTML表单免受Javascript /攻击

时间:2010-11-17 08:13:17

标签: php html css whitelist

我有一个表单,截至目前,您可以输入任何所需的javascript等。任何XSS等

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

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

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

由于

效率这么高吗? http://htmlpurifier.org/

2 个答案:

答案 0 :(得分:7)

  

首选jQuery或Javascript

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

  • 关闭javascript
  • 使用浏览器的开发者控制台搞乱数据
  • 直接进行POST,无需浏览器

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

答案 1 :(得分:1)

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

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

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