国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 編程設計 > 正文

增加這三行php代碼的安全性能和兼容性

2020-06-27 15:48:25
字體:
來源:轉載
供稿:網友
  今天在sitepoint上看到一篇文章,其中有一段是介紹如何改進以下的這行php代碼。這段代碼經常被他們用來測試應聘者。
  CODE:
  <?
  echo("<p>Search results for query: " .$_GET['query'] . ".</p>");
  ?>
  我覺得這段代碼非常適合用來測試一個php開發人員是否合格。因為這段代碼并沒有要求太多記憶上的東西(例如函數的記憶),但是對安全,性能,兼容性上都做了考察。
  大家也想想看如何改進代碼。我在后面給出修改后的代碼。
  CODE:
  <?php
  if (isset($_GET['query']))
  {
  echo '<p>Search results for query: ',
  htmlspecialchars($_GET['query'], ENT_QUOTES), '.</p>';
  }
  ?>
  改進的地方有 :
  把php短標簽(<?)換成了長標簽(<?php),因為并非所有php環境都支持短標簽
  增加判斷該全局變量是否存在,防止在某些環境下出現notice錯誤,而且在當前的例子里如果query無則沒必要輸出
  把echo的”(”去掉,echo不是一個函數,沒必要使用“(”
  把字符串兩邊的雙引號換成了單引號,提高了性能。因為雙引號里的內容會被嘗試進行變量和轉義字符的解析。
  對query這個get變量進行html過濾。防止輸出html,這可能會帶來包括xss在內的一些危險
  echo后面的字符串之間的間隔使用逗號而不是句號。因為句號之間的字符串會先被連接起來然后再輸出,而,號只是按順序輸出。在這個例子里顯然不需要先連接字符串。(這一點我平時倒沒太注意)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天峨县| 无为县| 兴化市| 平昌县| 容城县| 林甸县| 夏邑县| 沅陵县| 卓资县| 饶平县| 武平县| 乡宁县| 广南县| 荔浦县| 吐鲁番市| 荣成市| 镇巴县| 东宁县| 平遥县| 东乌珠穆沁旗| 泰安市| 临清市| 上虞市| 阜城县| 玛纳斯县| 三穗县| 云和县| 图片| 北海市| 澳门| 昂仁县| 福海县| 珠海市| 抚顺县| 绥宁县| 册亨县| 常宁市| 连城县| 黑河市| 大姚县| 丰都县|