search results for query:"). $_GET['query'].".

"; ?>這段程式碼的主要問題在於它將使用者提交的資料直接顯示到了網頁上,從而產生XSS漏洞。其實有很多方法可以填補這個漏洞。那麼,什麼程式碼是我們想要的呢? 複製程式碼 程式碼如下:s"/> search results for query:"). $_GET['query'].".

"; ?>這段程式碼的主要問題在於它將使用者提交的資料直接顯示到了網頁上,從而產生XSS漏洞。其實有很多方法可以填補這個漏洞。那麼,什麼程式碼是我們想要的呢? 複製程式碼 程式碼如下:s">

首頁 >後端開發 >php教程 >php程式碼 劣質的PHP程式碼簡化

php程式碼 劣質的PHP程式碼簡化

WBOY
WBOY原創
2016-07-29 08:41:431033瀏覽

複製程式碼 程式碼如下:



echo("

search results for query:").
echo("

search results for query:").
$_GET['query'].".

";
?>

這段程式碼的主要問題在於它把使用者提交的資料直接顯示到了網頁上,從而產生XSS漏洞。其實有很多方法可以填補這個漏洞。那麼,什麼程式碼是我們想要的呢?

複製程式碼

程式碼如下:




echo("

search results for quequery:") .
htmlspecialchars($_GET['query']).".

";
?>

這是最低要求。 XSS漏洞用htmlspecialchars函數填補了,從而屏蔽了非法字元。

複製程式碼

程式碼如下:



if(isset($_GET['query']) )
echo'

search results for query:',
htmlspecialchars($_GET['query'],ENT_QUOTES).'.

';
?>

能寫出這樣程式碼的人應該是我想要錄用的人了:
**在輸出$_GET['query']值前先判斷它是否為空。
*echo指令中多餘的括號被去掉了。
*字串用單引號限定,從而節省了PHP從字串中搜尋可替換的變數的時間。
*用逗號代替句號,節省了echo的時間。

*將ENT_QUOTES標識傳遞給htmlspecialchars函數,從而保證單引號也會被轉義,雖然這並不是最主要的,但也算是一個良好的習慣

以上就介紹了php程式碼 劣質的PHP程式碼簡化,包含了php程式碼方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn