码迷,mamicode.com
首页 > 其他好文 > 详细

防止恶意代码注入XSS(cross site scripting)

时间:2016-06-26 16:56:19      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:php xss 防止sql代码注入

Login.PHP页面
<!DOCTYPE html>
<html>
<head>
<title>登录页面</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
<form action="LoginController.php" method="post">
<table>
<tr><td>用户名</td><td><input type="text" name="username"/></td></tr>
<tr><td>密&nbsp;&nbsp;码</td><td><input type="password" name="password"/></td></tr>
<tr><td><input type="submit" value="submit"/></td><td><input type="reset" value="reset"/></td></tr>
</table>
</form>
</body>
</html>


LoginController.PHP页面
<!DOCTYPE html>
<html>
<head>
<title>登录验证</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
<?php 
//接收用户提交的用户名和密码(login.php页面提交的参数)
$username=$_REQUEST[‘username‘];
$password=$_REQUEST[‘password‘];
//到数据库验证,怎样写出安全的代码,防止其它用户攻击
//1.连接数据库
$link=mysql_connect("localhost","root","root");
if(!$link){
    die("连接数据库失败".mysql_error());
}
//2.选择数据库
mysql_select_db("test") or die("选择数据库有误".mysql_error());
//3.构建SQL语句,并查询
//使用PDO的方式来防止SQL注入
$query="select * from users where username=? and password=? ";
//1.创建一个PDO对象
$myPdo=new PDO("mysql:host=localhost;port=3306;dbname=test","root","root");
//2.设置字符编码
$myPdo->exec("set name utf8");
//3.预处理$query
$pdoStatement=$myPdo->prepare($query);
//4.把接收到的用户和密码填入
$pdoStatement->execute(array($username,$password));
//5.取出结果
$res=$pdoStatement->fetch();
if(empty($res)){
    echo "failed|<a href=‘Login.php‘>try to login</a>";
}else{
    header("Location:ManageUsers.php");
}
?>
</body>
</html>


ManageUsers.PHP页面
<!DOCTYPE html>
<html>
<head>
<title>登录验证</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
YOU SUCCEED!
</body>
</html>


防止恶意代码注入XSS(cross site scripting)

标签:php xss 防止sql代码注入

原文地址:http://11410485.blog.51cto.com/11400485/1793007

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!