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

回显用户输入文本的安全问题

  •  1
  • pinaki  · 技术社区  · 15 年前

    4 回复  |  直到 15 年前
        1
  •  2
  •   Sripathi Krishnan    15 年前

    您解释的场景称为XSS。借助XSS漏洞可能会危害服务器,但它确实需要其他东西。

    一旦攻击者具有管理员权限,他就可以系统地控制整个系统。这是最近在Apache上发生的- read their article on it . 这是我所见过的关于安全事件的最好的报道,你会从中学到很多。

        2
  •  0
  •   Stempy    15 年前

    在php中使用htmlspecialchars($yourstring)或strip字符,无需打开漏洞。

        3
  •  0
  •   gablin    15 年前

    如果直接使用用户输入来查询SQL数据库,则可能会受到SQL注入的影响。就用谷歌来举例吧。

    编辑: 哦,我错过了短信说你只是回显短信。嗯,如果你评估用户输入,也许用户可以发出PHP命令。但我不知道你为什么要这么做,因为这样用户就可以向服务器发出任何PHP命令(这显然是一个安全风险)。。。

        4
  •  0
  •   Richard Knop    15 年前

    用途:

    echo htmlentities($string);
    

    到处都是。除非你想让你的应用程序面对几十种可能的攻击:

    http://ha.ckers.org/xss.html

    如果需要回显HTML标记:

    1) 在将HTML保存到数据库之前,对HTML使用HTMLPurifier。

    2) 我建议使用XHTML严格过滤。

    3) 不允许像脚本、框架这样的标签,像onclick等属性。进入HTML的用户永远不需要的标签和属性列表很长。只需将它们限制在它们可能需要的范围内,例如:p、ol、ul、h1、h2、h3、dl、abbr、img(这些可能很危险,通过img标签可能会发生很多攻击,请小心)、a(detto)、table,可能还有其他一些。