我需要执行以下操作:
<?php
$userContentFromDatabase = 'Some string that may contain "double quotes" ';
?>
<script type="text/javascript">
var userContent = "<?= $userContentFromDatabase ?>";
</script>
如何避免双引号干扰JavaScript代码?
在PHP端使用json_encode()
并返回一个对象,因为它将处理所有斜杠,否则可能会破坏您的代码。
或者如果您认为唯一的问题是双引号,则只需使用str_replace()
添加斜线。
如果您想安全地在javascript变量中转换用户数据,则需要进行更多的转义。参见“ ruke 3 https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#RULE_.233_-_JavaScript_Escape_Before_Inserting_Untrusted_Data_into_JavaScript_Data_Values