未分類 13 1 月 2021 最近撸了个 go 过滤 xss 库 go-xss,发现官方库的 regexp 效率有待提高 最近撸了个 go 过滤 xss 库 go-xss,发现官方库的 regexp 效率有待提高 資深大佬 : nodesolar 3 https://github.com/feiin/go-xss 发现官方库的 regexp 效率有待提高 大佬有話說 (11) 資深大佬 : maja xss 应该在 render 的时候防范而不是 input 。 資深大佬 : MonoBiao hyperscan ? 資深大佬 : hanssx @maja 像富文本这种预先就定义好语义的,是不是在 input(source)比较好呢 主 資深大佬 : nodesolar 看需求了 有些场景 input 就要过滤下 資深大佬 : maja input 做 xss filter 是万恶之源。 何况用 regex 做 xss filter…. 資深大佬 : reus 正确做法是用标准库的 encoding/xml,然后用 Decoder.Token 读出 token 流,然后过滤,然后用 Encoder.EncodeToken 生成文本。用正则解析 html 是错误做法。追求性能前,先保证正确性吧。 主 資深大佬 : nodesolar 也不是完全正则,按字符在解析的. 資深大佬 : keepeye go 的正则库貌似不支持 ?! 语法,原因据说是因为影响效率.. 主 資深大佬 : nodesolar @keepeye 是的 re2 引擎不支持 資深大佬 : Mitt xss 在后端过滤还是在前端过滤的话题只要一开 每次都能吵起来,我是觉得后端能做的太少了,绕过的可能性也很大,前端反而有更多控制手段 主 資深大佬 : nodesolar @Mitt 哈哈哈 PHP 是世界最好的语言.