sqlmap使用教程
https://www.freebuf.com/sectool/164608.html
https://blog.csdn.net/guiziwen/article/details/78770285
/** * @1,sql注入漏洞: * 比如:在用户名输入框中输入:’ or 1=1#,密码随便输入,这时候的合成后的SQL查询语句为: * select * from users where username='' or 1=1#' and password=md5('') * @2,XSS漏洞:全称跨站脚本攻击,一般是<script></script>攻击 */ $text = $_POST['test']; // 1,方法一 $text = str_replace("<","<",$text); $text = str_replace(">",">",$text); // 2,方法二 $text = htmlspecialchars($text);
1,PHP pdo的 :content 占位
<?php
/**
* @sql注入
* sqlmap
* sql手工注入
*/
function conn()
{
$db = new PDO("mysql:host=localhost;dbname=dm", "root", "");
$db->exec("set names utf8");
return $db;
}
$db = conn();
// :content占位
$sql = "insert into love(content,created_at) values (:content,:created_at)";
$stmt = $db->prepare($sql); // 预处理
$stmt->bindParam(":content",$content);//绑定
$count = $stmt->execute();
2,PHP pdo的 ?占位
<?php
$db = new PDO("mysql:host=localhost;dbname=dm", "root", "");
$sql = "insert into comment(love_id,content,created_at) values (?,?,now())";
// 预处理
$stmt = $stmt = $db->prepare($sql);
// 如果使用?占位
$stmt->bindParam(1, $love_id);
$stmt->bindParam(2, $content);
$stmt->execute();
// TODO 获取插入的记录的id
echo $db->lastInsertId();
header("Location:content.php?id=" . $love_id);