前端 防止使用 target="_blank" 的恶意攻击

危险的 target=”_blank”

当一个跳转链接 这么写的时候 <a href="./target.html" target="_blank">target _blank</a> 在新打开的界面,将会暴露一个 opener对象,简单的理解。这个对象就是父窗口的 windows对象,可以直接使用父窗口的方法, 比如通过window.opener.location = newURL来重写父页面的url,即使与父窗口的页面不同域,跨域的情况下也生效,可以在用户不知情的情况下,悄悄的改了原有的界面,等用户在回头使用时,却已被钓鱼,严重的,可以诱导用户输入敏感信息。

解决方案

  1. 使用noopener属性

通过在a标签上添加这个noopener属性,可以将新打开窗口的opner置为空

<a href="./target.html" target="_blank" rel="noopener">target _blank noopener</a>

  1. window.open并设置opner为空
var otherWindow= window.open();
otherWindow.opener = null;
other = 'http://newurl';
复制代码

旧版本浏览器

对于旧版本浏览器和火狐浏览器,可以加上 rel="noreferrer" 更进一步禁用 HTTP 的 Referer 头

总结

总而言之,如果使用了 target="_blank" 打开外部页面,就必须加上 rel="noopener noreferrer" 属性以保证安全

参考 在新窗口中打开页面?小心有坑!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue前端中,为了防止SQL注入攻击,可以采取以下几种方法: 1. 使用参数化查询:在前端与后端的数据交互过程中,使用参数化查询(Prepared Statements)来构造SQL语句。通过预编译SQL语句,并将参数传递给数据库进行处理,可以有效地防止SQL注入攻击。例如,使用预编译类PreparedStatement来代替拼接字符串的方式构建SQL语句。 2. 对输入数据进行验证和过滤:在前端对用户输入的数据进行验证和过滤,确保只有合法的数据通过。可以使用正则表达式、白名单等方式对输入数据进行限制和过滤,防止恶意的SQL注入语句被执行。 3. 使用安全的框架和库:选择使用经过安全验证的框架和库,这些框架和库通常会提供一些安全机制和防护措施,帮助你有效地防止SQL注入攻击。 4. 限制数据库用户权限:在数据库层面,通过为数据库用户分配最小权限来限制其对数据库的操作范围,避免注入攻击对数据库的破坏。 总结起来,为了防止SQL注入攻击,需要在前端进行数据验证和过滤,使用参数化查询来构建SQL语句,并在数据库层面限制用户权限。这样可以有效地提高系统的安全性,防止SQL注入攻击的发生。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [防止SQL注入](https://blog.csdn.net/u014644574/article/details/124452889)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [前端参数效验防止sql注入的方法](https://blog.csdn.net/weixin_43578304/article/details/127907126)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值