黑客通过提交值改变主页如何防止这种情况?

时间:2014-05-12 14:35:04

标签: html css security

我正在为我的学校建立一个网站,我刚从基础开始测试 我们网站的安全性,并观察到从那里得到这个输出 代码如果我们输入名称:../信息:(任何HTML代码)然后它会更改该页面 注入的那个html代码。有什么解决办法可以防止这种情况发生 问题,以便我有更高的安全性.HTML代码是

<html>
<head>
<title>Submit your form</title>
</head>
<body bgcolor="Black" text="#FFFFFF" link="#FFF833" vlink="#FFF833">
<center><table width=600 cellspacing=0 cellpadding=0 align="center"><tr><td>
<font face="verdana" size=2><b>Use this form to submit your information to the website.<br /><Br>Note:Information will be stored online immediately but will not be listed on the main page until it has a chance to be looked at.<br /><br />
<form action="submit.php" method="post">Name:<br />
<input type="text" name="name">
<br /><br />Information<br /><textarea rows=15 cols=40 name="text"></textarea>
<br /><br /><input type="submit" value="add text"></form></font>
</b></td></tr></table>
</center>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

正如我已经说过两次,这完全取决于你如何保存这个用户输入......等等,现在是XD的三倍

我猜你的代码是:

file_put_contents("submissions/".$_POST['name']."/index.html", $_POST['text']);

但如果$_POST['name']../,那么您将其提交保存到submissions/..//index.html ...换句话说,您正在覆盖网站的主页!通过允许$_POST['text']被放入那里而没有安全,只要让任何人做他们想做的事。

相反,您应该将这些提交保存到数据库,通过ID号引用它们,并使用htmlspecialchars之类的内容来防止输入HTML被处理。

答案 1 :(得分:0)

你需要在每个字段中添加一些过滤器作为输入,因为如果你不这样做那么 XSS (corss-site scripting)的可能性会增加,所以你是否从用户那里获取输入假设usernamd,password,email-ids等总是检查字段必须包含html标签,特别是 JAVA SCRIPT标签。如果您允许带有输入的JAVA脚本标记,则会进行会话劫持,因此请在午餐前检查最终域和主机上的所有内容。好运