日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

“劣质”的PHP代码简化

發布時間:2023/12/10 php 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “劣质”的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,這樣更符合XML規范。
*在輸出$_GET['query']值前先判斷它是否為空。
*echo命令中多余的括號被去掉了。
*字符串用單引號限定,從而節省了PHP從字符串中搜索可替換的變量的時間。
*用逗號代替句號,節省了echo的時間。
*將ENT_QUOTES標識傳遞給htmlspecialchars函數,從而保證單引號也會被轉義,雖然這并不是最主要的,但也算是一個良好的習慣

轉載于:https://www.cnblogs.com/Lovepanda/archive/2010/02/03/1662530.html

總結

以上是生活随笔為你收集整理的“劣质”的PHP代码简化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。