是否可以使用JavaScript来破坏页面的HTML?

是否可以使用JavaScript来破坏页面的HTML?,javascript,html,Javascript,Html,我在工作中被问到,是否有可能有意或无意地编写JavaScript来删除HTML文档中的特定字符,从而破坏HTML。一个例子是添加一些JavaScript来删除页面中的

我在工作中被问到,是否有可能有意或无意地编写JavaScript来删除HTML文档中的特定字符,从而破坏HTML。一个例子是添加一些JavaScript来删除页面中的<符号。我尝试过在线搜索,我知道JavaScript可以代替字符串,但我对该语言的了解微不足道


我被要求研究它,希望以此来解决为什么我工作的网站需要控制谁可以向页面添加定制功能的问题。我希望这是不可能的,但我会感谢内心的平静

是的,事实上,你也可以用javascript做更阴险的事情


是的。至少,您可以使用它来编写CSS来设置任何元素、类、ID。。。连身体都要显示:无

是的,这是可能的。最简单的例子是

var body = document.getElemetsByTagName('body')[0];
body.innerHTML = 'destroyed';

wich将删除整个页面,只需写“销毁”即可。回到您的示例:同样,可以替换
,您也可以编写一些javascript函数来修改文件的内容。如果该文件是您的HTML页面,那么请确定

如果要防止这种情况发生,您可以将该HTML文件的权限设置为只读。

您可以:

  • 覆盖页面
  • 弄乱body标记的innerHTML(几乎相同)
  • 插入非法元素

  • 任何客户端/浏览器都可以随时操纵页面的查看方式,例如在chrome hit F12中,然后您可以在html中编写任何您想要的内容,您将立即看到更改。但这不需要担心

    可怕的是,当站点上的JavaScript与后端服务器通信并向其提供一些输入参数时,这些参数在服务器端以某种方式处理之前没有被清除。如果后端使用数据库,SQL注入也可能以这种方式发生,而他们几乎总是这样做,以此类推

    网页可以通过两种方式进行操作,一种是非持久化,另一种是持久化

    [none persistent]:通过这种方式,您可以操纵对网页的访问,但这不会影响网页中的其他用户,但一旦进入,您可能会造成伤害

    [持久性]:这样,服务器端代码将永久地受到注入代码的影响,并且很可能会影响其他用户


    这里的关键是,在后端服务器处理任何内容之前,始终对其使用的输入进行清理

    XSS不是关于破坏HTML的。@Tadeck是的,但是有人假设为什么管理层会问这样的问题。我认为如果您编写您的Element.innerHTML('
    var body = document.getElemetsByTagName('body')[0];
    body.innerHTML = body.innerHTML.replace('<','some other character');