哥们儿我来分享一下最近捣鼓的一个小玩意儿——escapeHTML
。说白,就是咋把HTML里那些个特殊符号给收拾得服服帖帖的。
我是真没把这当回事儿。不就是几个符号吗?能翻天不成?结果,现实狠狠地抽我一个大嘴巴子。事情是这样的,我当时在做一个小项目,需要把用户输入的内容直接显示在网页上。这本来没可谁知道有些用户,那输入的东西是真“刑”,各种尖括号、引号啥的,直接把我的页面搞得乱七八糟。更要命的是,这还可能被人利用来搞事情,专业点说叫啥XSS攻击,反正就是挺吓人的。
咋办?总不能让用户想输啥就输啥?于是我就开始找解决办法。网上搜一圈,发现好多人都推荐用escapeHTML
这个东西。看名字就知道,这玩意儿就是专门干这个的。
实践过程
我就开始动手实践:
-
安装: 这玩意儿是用 JavaScript 写的,而且是个开源项目。安装也方便,我直接用个命令搞定的,好像叫什么npm,反正一把梭就完事。
-
使用:
这玩意的用法也简单,基本上就是把你要处理的字符串扔给它,它就给你吐出一个“干净”的字符串。
- 比如,我原来有个字符串是这样的:
<h1>你世界!</h1>
- 用
escapeHTML
之后,它就变成:<h1>你世界!</h1>
看到没?那些个尖括号都被它给换成
<
和>
,这样一来,浏览器就不会把它们当成HTML标签来解析,也就不会出问题。 - 比如,我原来有个字符串是这样的:
-
测试:
为确保万无一失,我还特意搞几个测试用例,把各种奇奇怪怪的字符都试一遍,结果都挺没出啥幺蛾子。
3
这回实践让我深刻体会到“细节决定成败”这句话的含义。一个小小的escapeHTML
,就解决我的大问题。所以说,干啥事都不能马虎,得把每个细节都考虑到位,才能把事情做
好,今天就分享到这儿。希望我的经验能帮到大家。下次再遇到类似的问题,记得用escapeHTML
!
免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。