最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

劣質(zhì)的PHP代碼簡(jiǎn)化

 更新時(shí)間:2010年02月08日 08:51:05   作者:  
下面這一小段“劣質(zhì)”的PHP代碼是一道簡(jiǎn)化了的測(cè)試題。這種問題就像在問:你該怎樣優(yōu)化這段代碼?
復(fù)制代碼 代碼如下:

<?
echo("<p>search results for query:").
$_GET['query'].".</p>";
?>

這段代碼的主要問題在于它把用戶提交的數(shù)據(jù)直接顯示到了網(wǎng)頁上,從而產(chǎn)生XSS漏洞。其實(shí)有很多方法可以填補(bǔ)這個(gè)漏洞。那么,什么代碼是我們想要的呢?
復(fù)制代碼 代碼如下:

<?
echo("<p>search results for query:").
htmlspecialchars($_GET['query']).".</p>";
?>


這是最低要求。XSS漏洞用htmlspecialchars函數(shù)填補(bǔ)了,從而屏蔽了非法字符。
復(fù)制代碼 代碼如下:

<?php
if(isset($_GET['query']))
echo'<p>search results for query:',
htmlspecialchars($_GET['query'],ENT_QUOTES).'.</p>';
?>

能寫出這樣代碼的人應(yīng)該是我想要錄用的人了:
*<?被替換成了<?php,這樣更符合XML規(guī)范。
*在輸出$_GET['query']值前先判斷它是否為空。
*echo命令中多余的括號(hào)被去掉了。
*字符串用單引號(hào)限定,從而節(jié)省了PHP從字符串中搜索可替換的變量的時(shí)間。
*用逗號(hào)代替句號(hào),節(jié)省了echo的時(shí)間。
*將ENT_QUOTES標(biāo)識(shí)傳遞給htmlspecialchars函數(shù),從而保證單引號(hào)也會(huì)被轉(zhuǎn)義,雖然這并不是最主要的,但也算是一個(gè)良好的習(xí)慣

相關(guān)文章

最新評(píng)論

那曲县| 肃宁县| 当阳市| 偃师市| 绿春县| 灌云县| 惠水县| 公主岭市| 开平市| 文化| 三门县| 通许县| 土默特右旗| 新密市| 东海县| 邵武市| 石家庄市| 包头市| 墨竹工卡县| 灵川县| 延津县| 新乐市| 阳新县| 东海县| 阳信县| 宁阳县| 河南省| 灌南县| 胶南市| 合作市| 黔西| 林西县| 获嘉县| 库伦旗| 武威市| 克东县| 桐城市| 泰顺县| 临猗县| 囊谦县| 读书|