您好,登錄后才能下訂單哦!
這篇文章主要介紹了PHP代碼優化的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一小段“劣質”的PHP代碼優化的過程,請仔細體會優化過程
下面這一小段“劣質”的PHP代碼是一道簡化了的測試題。這種問題就像在問:你該怎樣優化這段代碼?
<? echo("<p>Search results for query: " . $_GET['query'] . ".</p>"); ?>
這段代碼的主要問題在于它把用戶提交的數據直接顯示到了網頁上,從而產生XSS漏洞。其實有很多方法可以填補這個漏洞。那么,什么代碼是我們想要的呢?
<? echo("<p>Search results for query: " . htmlspecialchars($_GET['query']) . ".</p>"); ?>
這是最低要求。XSS漏洞用htmlspecialchars函數填補了,從而屏蔽了非法字符。
<?php if (isset($_GET['query'])) { echo '<p>Search results for query: ', htmlspecialchars($_GET['query'], ENT_QUOTES), '.</p>'; } ?>
接著優化:
<?php if (isset($_GET['query'])) { echo '<p>Search results for query: ', htmlspecialchars($_GET['query'], ENT_QUOTES), '.</p>'; } ?>
<?被替換成了<?php,這樣更符合XML規范。
在輸出$_GET['query']的值之前先判斷它是否為空。
echo命令中多余的括號被去掉了。
字符串用單引號限定,從而節省了PHP從字符串中搜索可替換的變量的時間。
用逗號代替句號,節省了echo的時間。
將ENT_QUOTES標識傳遞給htmlspecialchars函數,從而保證單引號也會被轉義。雖然這并是最主要的,但也算是一個良好習慣。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“PHP代碼優化的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。