代码之家  ›  专栏  ›  技术社区  ›  switz

保护HTML表单免受javascript/攻击

  •  0
  • switz  · 技术社区  · 15 年前

    我有一个表单,从现在开始,你可以输入任何你想要的javascript等等。任何XSS等。

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

    在某种程度上,我想要任何以 http:// 将转换为

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

    谢谢

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

    2 回复  |  直到 15 年前
        1
  •  7
  •   Andy E    15 年前

    首选jquery或javascript

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

    • 关闭javascript
    • 使用浏览器的开发人员控制台处理数据
    • 直接发帖,无需浏览器

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

        2
  •  1
  •   Andy Marvel    15 年前

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

    因为您将使用PHP,所以我建议您使用htmlspecialchars()、mysql_real_escape_string()等来解析您的$_post值。

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