繁体   English   中英

安全地接受和显示特殊字符

[英]Accepting and display special characters safely

我知道这已经说过了,很可能是重复的,但是我在合并所有发现的信息时遇到了麻烦。

我有用于存储信息的输入框。 我想允许用户键入他们想要的任何内容并显示它。 但是,如果碰巧是<?php die(); ?> <?php die(); ?> ,我显然不希望它执行。

我知道有些东西像htmlspecialchars() ,但是,如果用户键入<b>之类的东西,它将显示&lt;b&gt; 代替。

有没有解决的办法?

<?php
$string = '<?php echo "aaa;"?><b>sss</b>';
print "before: ". htmlspecialchars($string). "<br>";


print "after: ". cleanInput($string);

function cleanInput($input) {
    $output = strip_tags($input, '<p><a><b><div>');
    return htmlspecialchars($output);
}

其中<p><a><b><div>是允许的标签。 这样很好,所以您只能设置要允许的标签。 这也会去除<script>和其他标签

阅读: http : //php.net/strip_tags

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM