sql injection :
駭客是改變你的搜尋條件來快速達到成立,最常見是用or 1=1 方式來輕鬆達成條件找出所有資料,當要防一種攻擊時必須先了解他的攻擊方式,才能知道要從哪裡防
目前在語法上我知道方式有
$conn = new mysqli($dbhost, $dbuser, $dbpass,$dbname);
//mysqli_query("SET NAMES 'utf8'");
$id=3;
$email="d3d3";
$firstname="2ssdwd";
$sql="select * from users where id=? and email=? and firstname=?;";
$result=$conn->prepare($sql);
$result->bind_param("iss",$id,$email,$firstname);
透過這樣的方式不讓變數直接放到語法裡面(參考連結)
以下是xss攻擊(javascript攻擊)
xss攻擊防禦: 過濾特殊字元
$test2='Shanghai is the"biggest" city in China.'; echo addslashes($test2);
addslashes() 這個函式可以把字串裡的特殊自元的前面加斜線
$test='<script>';$test.='alert(2)';$test.='</script>'; $result=htmlspecialchars($test);echo $result;
htmlspecialchars() 他可以把html的語法以字串方式顯示輸出: