escapeHTML是啥?这篇文章看完你就明白啦!

吉云

哥们儿我来分享一下最近捣鼓的一个小玩意儿——escapeHTML。说白,就是咋把HTML里那些个特殊符号给收拾得服服帖帖的。

我是真没把这当回事儿。不就是几个符号吗?能翻天不成?结果,现实狠狠地抽我一个大嘴巴子。事情是这样的,我当时在做一个小项目,需要把用户输入的内容直接显示在网页上。这本来没可谁知道有些用户,那输入的东西是真“刑”,各种尖括号、引号啥的,直接把我的页面搞得乱七八糟。更要命的是,这还可能被人利用来搞事情,专业点说叫啥XSS攻击,反正就是挺吓人的。

escapeHTML是啥?这篇文章看完你就明白啦!

咋办?总不能让用户想输啥就输啥?于是我就开始找解决办法。网上搜一圈,发现好多人都推荐用escapeHTML这个东西。看名字就知道,这玩意儿就是专门干这个的。

实践过程

我就开始动手实践:

  1. 安装: 这玩意儿是用 JavaScript 写的,而且是个开源项目。安装也方便,我直接用个命令搞定的,好像叫什么npm,反正一把梭就完事。

  2. 使用:

    这玩意的用法也简单,基本上就是把你要处理的字符串扔给它,它就给你吐出一个“干净”的字符串。

    • 比如,我原来有个字符串是这样的:<h1>你世界!</h1>
    • escapeHTML之后,它就变成:&lt;h1&gt;你世界!&lt;/h1&gt;

    看到没?那些个尖括号都被它给换成&lt;&gt;,这样一来,浏览器就不会把它们当成HTML标签来解析,也就不会出问题。

  3. 测试:

    为确保万无一失,我还特意搞几个测试用例,把各种奇奇怪怪的字符都试一遍,结果都挺没出啥幺蛾子。

3

这回实践让我深刻体会到“细节决定成败”这句话的含义。一个小小的escapeHTML,就解决我的大问题。所以说,干啥事都不能马虎,得把每个细节都考虑到位,才能把事情做

好,今天就分享到这儿。希望我的经验能帮到大家。下次再遇到类似的问题,记得用escapeHTML

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]