我看到我的脚本容易受到XSS的攻击,我是PHP的新手,所以我真的不知道应该在哪里看。以下是我使用的所有代码:
<?php
$host = $_SERVER['HTTP_HOST'];
$map = opendir(gif);
$m = 0;
while(false !=($file = readdir($map))){
if($file != "." && $file != ".."){
$gif[$m]= $file;
$m++;
}
}
$random_gif=rand(0,count($gif)-1);
?>
&安培;
<html>
<head>
<meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8">
<title><?php echo $_GET['gif']; ?> - Xanu</title>
</head>
<body><center>
<object width="650" height="650">
<embed src="gif/<?php echo $_GET['gif']; ?>" width="640" height="480"></embed>
<br><b><font face="Arial">
<font size="10"><?php echo $_GET['gif']; ?></font><br><br>
Link naar de bullshit die hier boven staat?<br>
<input type="text" size="55" name="giflink" value="http://<?php echo $host; ?
>/file.php?gif=<?php echo $_GET['gif']; ?>"><br><br>
<?php
echo '<a href="http://'.$host.'/file.php?gif='.$gif[$random_gif].'">Klik hier voor nieuwe bullshit!</a>';
?>
答案 0 :(得分:0)
您正在向用户发送$_GET['gif']
,因此您应该使用htmlspecialchar
:
<?php echo htmlspecialchar($_GET['gif'] , ENT_QUOTES); ?>