防止文本php中的html插入

时间:2011-03-04 18:59:38

标签: php html

当我输入文本时我有一个问题我可以用文本输入html。例如“我正在输入文本”。现在,此链接在提交表单时显示为链接。关于如何防止这种情况的任何想法?

I am entering text <a href="xyz.com">Go to my site </a>. This is the input so when i output the data it comes out as I am entering text **Go to my site** with the hyperlink. 

5 个答案:

答案 0 :(得分:6)

将字符串放在htmlspecialchars()strip_tags()

而且,由于我觉得为其他目的清理字符串将是下一个问题,我应该提出这个:The ultimate clean/secure function

答案 1 :(得分:2)

您无法轻易阻止用户在没有javascript的情况下输入代码,但您可以使用

 strip_tags()

在后端删除它们。

 htmlspecialchars()

不会删除这些标记,它只会对特殊字符进行编码。

答案 2 :(得分:0)

通常,您不希望阻止这一点。您希望确保在打印时不输出HTML

这样做的方式是这样的:

echo $_GET['text']; // this prints HTML links etc
echo htmlspecialchars($_GET['text']); // this does not

答案 3 :(得分:0)

如果我理解正确,您希望阻止注入HTML代码。使用htmlspecialchars()

echo htmlspecialchars($_POST['myform']);

答案 4 :(得分:0)

在显示之前清理输入数据。众所周知,这是一种Cross Site Scripting(XSS)攻击。 您可以使用htmlspecialchars()string_tags()来清理数据。