![](/img/trans.png)
[英]How can I prevent additional strings from being added after URLs that end with .php?
[英]How can I prevent \ from being added from the form input?
html表单接受textarea输入,我在显示它时使用$ _POST值将输入值放入textarea。 例如。
<html>
<?php if($_POST['input'){
<form method="post" action="<?=$PHP_SELF?>">
<textarea name="input" cols="60" rows="20"><?=$_POST['input']?></textarea>
<input type="submit" value="Test it">
</form>
<?php
} else {
?>
Please copy in a text of your choice
<br /><br />
<form method="post" action="<?=$PHP_SELF?>">
<textarea name="input" cols="60" rows="20"></textarea>
<input type="submit" value="Test it">
</form>
</html>
除了反斜杠'\\'添加到每个单引号和双引号之外,一切正常。 如何设置一些设置以防止添加反斜杠?
经过长时间的搜索,我解决了这个问题:
在要显示textarea内容的页面中,只需添加此内容即可
< ? php echo stripslashes($shortcode_name) ? >
当然,您需要用$shortcode_name
替换$shortcode_name
shortcode_name。 就这些。 解决了
禁用魔术引号 - 请参阅http://php.net/manual/en/security.magicquotes.php - 如果您在共享主机上并且您的主机是愚蠢的并且不想/允许您更改它(请参阅该页面)为什么它是愚蠢的),在你从$_GET, $_POST, $_COOKIE
数组中获得的每个值上使用stripslashes()
。
另外,不要将输入值(包括PHP_SELF
)回送到HTML输出中而不通过htmlspecialchars()
发送它们,或者您遇到安全问题。 有关更多信息,请参见http://en.wikipedia.org/wiki/Cross-site_scripting 。
你也可以使用stripslashes 。
<textarea name="input" cols="60" rows="20"><?php echo stripslashes($_POST['input']); ?></textarea>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.