Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 防止html注入_Php_Html_Code Injection_Htmlspecialchars_Html Injections - Fatal编程技术网

Php 防止html注入

Php 防止html注入,php,html,code-injection,htmlspecialchars,html-injections,Php,Html,Code Injection,Htmlspecialchars,Html Injections,所以我知道你可以做$words=htmlspecialchars($\u POST['name']) 在php中转义特殊字符并防止一些html注入 但实际上,我在php代码中实现它时遇到了困难。我读到你必须先使用它,然后才能向网站的浏览者显示你正在显示的内容,但我不知道该怎么做。我是一个php初学者 因此,我能够完成sql注入部分,但正如我前面所述,这是代码中我一直在做的部分 我正试图阻止标题博客和标签的html注入 $result= mysql_query("SELECT * FROM Bpo

所以我知道你可以做
$words=htmlspecialchars($\u POST['name'])
在php中转义特殊字符并防止一些html注入

但实际上,我在php代码中实现它时遇到了困难。我读到你必须先使用它,然后才能向网站的浏览者显示你正在显示的内容,但我不知道该怎么做。我是一个php初学者

因此,我能够完成sql注入部分,但正如我前面所述,这是代码中我一直在做的部分

我正试图阻止标题博客和标签的html注入

$result= mysql_query("SELECT * FROM Bpost");

echo '<div class = "blog" align = "center">';
    while($row = mysql_fetch_array($result))
        {

        echo "<div class = 'tname'>";
        echo $row['title']; 
        echo '</div>';

        echo '<div class = "bpost">';
        echo $row['blog'];
        echo '</div>';

        echo '<div class = "tag">';
        echo $row['tags'];
        echo '</div>';
        echo '</br>';

        }
echo '</div>';
$result=mysql\u查询(“从Bpost中选择*);
回声';
while($row=mysql\u fetch\u数组($result))
{
回声“;
echo$row['title'];
回声';
回声';
echo$row['blog'];
回声';
回声';
echo$row['tags'];
回声';
回音“
”; } 回声';

如果你需要我的其他东西的示例代码,请告诉我。对我来说,这似乎已经足够了。

只需更改
echo$row['title']
回显htmlspecialchars($row['title'])(并对所有其他用户生成的数据重复)设置完毕。

。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果你选择PDO,@Neal你应该写一个机器人来做这个。@ceejayoz谁说我没有-谢谢你指出这一点。我真的很感激。我会记住这一点,下次上课时再提出来。重申:当回显一个无法保证安全的字符串时,请始终调用
htmlspecialchars
。如果你的字符串可以包含HTML,那就另当别论了,这是一个更复杂的情况。是的,我知道它不能保护所有内容。这只是我想在我的脚本课程中增加额外学分项目的一部分。我们简要地讨论了sql和html注入,我想我也可以把它包括在这个额外的cred中。项目(尽管不是必需的)只是为了多走一步,从我的老师那里挤出每一点额外的学分。