php解码html,PHP:HTML属性编码/ JavaScript解码

HTML属性上下文编码不受信任的数据的正确方法是什么?例如:

我通常使用htmlentities()或htmlspecialchars()来执行此操作:

但是,我最近遇到了一个问题,当我需要传递的数据是一个需要传递给JavaScript以更改页面位置的URL时,这会破坏我的应用程序:

// ...

window.location = document.getElementById('foo').value;

// ...

在这种情况下,foo是一个C程序,它不理解URL和段错误中的编码字符.

我可以简单地在JavaScript中获取值,并执行类似value.replace(‘& amp;’,’&’)的操作,但这看起来很糟糕,只适用于&符号.

所以,我的问题是:是否有更好的方法来对注入HTML属性的数据进行编码或解码?

我已经阅读了OWASP’s XSS Prevention Cheatsheet的所有内容,只要我小心引用我的属性就听起来像那么我需要编码的唯一字符是引用本身(“) – 在这种情况下,我可以使用像str_replace(‘“’,’& quot;’,…) – 但是,我不确定我是否正确理解它.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值