此代碼是否安全以防止XSS攻擊?防止XSS攻擊
<?php
$string = "<b>hello world!</b>";
echo "without filtering:".$string;
echo "<br>";
$filtered = htmlspecialchars($string); // insert into database filtered
echo "After filtering:".$filtered;
echo "<br>";
$de_filtering = htmlspecialchars_decode($filtered); //retrieve from database and display
echo "After de-filtering:".$de_filtering;
?>
如果要將數據放入數據庫,請不要使用'htmlspecialchars',使用數據庫的轉義方法(例如'mysql_real_escape_string')。 –
@Rocket更好的是,使用PDO和預處理語句,而不是手動轉義數據庫輸入。 PHP核心開發團隊真的希望取消過時的mysql/mysqli擴展,但他們不能這麼做,因爲很多人堅持繼續使用它們。 **給所有人:**請儘自己的本分,鼓勵使用準備好的聲明而不是手動轉義。 – rdlowrey
這是一個正確的方向。您需要展示更多代碼,這是您應用中的真實世界示例。這僅僅是理論。 –