xss和sql injection

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的語法以字串方式顯示輸出: