色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

劣質的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,這樣更符合XML規范。
*在輸出$_GET['query']值前先判斷它是否為空。
*echo命令中多余的括號被去掉了。
*字符串用單引號限定,從而節省了php從字符串中搜索可替換的變量的時間。
*用逗號代替句號,節省了echo的時間。
*將ENT_QUOTES標識傳遞給htmlspecialchars函數,從而保證單引號也會被轉義,雖然這并不是最主要的,但也算是一個良好的習慣

php技術劣質的PHP代碼簡化,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 金湖县| 广西| 宁晋县| 黑河市| 高雄县| 黄大仙区| 康乐县| 鹰潭市| 灵石县| 易门县| 武穴市| 铜鼓县| 铜梁县| 曲阳县| 平顶山市| 西乡县| 阿瓦提县| 剑阁县| 巨野县| 福鼎市| 莎车县| 牙克石市| 嫩江县| 额敏县| 磴口县| 甘肃省| 东明县| 东丽区| 防城港市| 玉溪市| 江阴市| 南溪县| 无为县| 永德县| 曲阳县| 江西省| 高邮市| 江陵县| 南安市| 宕昌县| 托克逊县|