html嵌入js代码显示而不执行的

昨天跟朋友聊了点关于web安全方面的问题,我对这个摄入不深。提到关于html嵌入js不是让他执行而是显示。第一反应就是html转移,用过把

<script>alert(1)<script>

这一块代码,存入数据库里面,当被读取然后输出到浏览器的时候,html肯定会被执行。一般写代码的时候,insert的时候,肯定会随手会转义一下,知道这是为了安全考虑。久而久之也不动脑筋了忽略了一些东西吧。

1.对<script>类似标签进行过滤。凡事发现的直接剔除。
2.对<script>对标签进行转义这里写图片描述
经测试以后,第一段html会被浏览器解释成第二段的形式进行显示,浏览器不会对html进行2次解释,也就是说不会把<font color="red">This is some text!</font>在进行一次解释。This is some text!字体颜色不会被设置成红色。正常模式确实会这么显示,但是在debug模式下,可以轻松改版html代码和样式这是要注意的。
3.<script> 替换成别的标签,在html加载的时候由css去控制其样式,并告诉用户这是XX语言的代码,js做一些效果,比如监听鼠标,双击就全选,单击就取消,这是目前大多数web网站采用的一种形式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML嵌入JavaScript代码有三种方式。第一种是通过事件句柄,在HTML标签中设置相应的事件属性,当事件触发时,浏览器会自动调用相应的JavaScript代码。例如,在按钮标签中设置onclick属性值,点击按钮后会执行相应的JavaScript代码。\[3\] 第二种方式是使用脚本块,在<body>标签中嵌入<script>标记,将JavaScript代码写在<script>标记中。这种方式的代码会在页面打开时执行,并且按照自上而下的顺序依次执行。\[2\] 第三种方式是引入外部的.js文件,通过在<body>标签中添加<script>标记,并设置src属性为.js文件的路径,可以将外部的JavaScript代码引入到HTML中。这种方式可以在多个页面中共享同一份JavaScript代码。\[1\] 需要注意的是,使用<script>标记时,要确保正确的闭合标签,并且在<script>标记中的代码会被从上到下解释,并且会被保存在解释器环境中。在<script>元素中的代码被计算完成之前,页面的其余内容不会被加载,也不会被显示。\[2\] #### 引用[.reference_title] - *1* *2* *3* [javascripthtml嵌入javascript代码的三种方式](https://blog.csdn.net/qq_51476492/article/details/123537150)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值