主页

ruby <%=和<%== 的区别

2025-02-16 09:49PM

在ruby中,<%== 是一种特殊的ERB语法,用于在模板中输出HTML内容

<%==语法和<%=语法类似,但<%=不会对输出进行HTML转义。它会直接插入HTML内容,如果你确定HTML内容是安全的(比如已经经过了清洗),可以使用这个 语法来直接插入HTML,而不进行转义

eg:

<%== "<script>alert('hello');</script>" %>

输出的内容:

<script>alert('hello');</script> 

这种方式可以用于动态插入HTML内容,比如来自富文本编辑器的内容等

如果你确定你要输出的内容不包含恶意的HTML代码时,可以使用<%== ,例如:你已经手动清洗过的内容

如果你不想让ERB对输出进行转义(例如输出用户上传的HTML内容),可以使用<%==

注意:使用<%==时要非常小心,因为如果插入的数据包含了恶意的脚本代码,可能导致XSS漏洞。因此,确保在插入内容时进行适当的安全检查。

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论