示例。。
HTML:
<input type="hidden" value="">
PHP:
<input type="hidden" value="<?php echo $value;?>">
jQuery:
$("input:hidden").val(text);
如果text
(JS变量(是自由文本,则允许所有html特殊字符(如单引号/双引号(并保存到input:hidden
(因此由PHP提交(
什么是正确的做法?
我可以使用吗
echo htmlentities($value);
。。。在PHP 中
或者像.val(text.replace(/'/g,"’"))
一样替换jQuery中的引号
还是什么?
PS:请考虑一下我什么时候用jQuery设置要输入的值来保存值。
转换为htmlentities应该可以正常工作。
如果您想删除所有HTML标签,也可以使用strip_tag:
注意:这不会停止所有XSS攻击
如果您想将PHP变量回显到某些HTML中,请使用:
<input type="hidden" value="<?php echo htmlspecialchars($value); ?>">
http://php.net/manual/en/function.htmlspecialchars.php
如果您想将PHP变量回显到某些JavaScript中,请使用:
<?php echo json_encode($value); ?>
http://php.net/manual/en/function.json-encode.php