جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
نکات و اصول مهم در برنامه نويسي(1)
-(9 Body) 
نکات و اصول مهم در برنامه نويسي(1)
Visitor 457
Category: دنياي فن آوري
1- هرگز فايل هاي ضميمه شده رو با پسوند inc. ذخيره نکنيد! يعني name.class.inc رو به name.class.php تغيير بديد. و يا از .HTAccess براي تعيين سطح دسترسي inc. استفاده کنيد.
2- حتاًالمکان تگ هاي اضافي و فضا هاي خالي را حذف کنيد و از باز و بسته کردن بيش از حد تگهاي سرور خودداري کنيد(مخصوصاً در پروژه هاي سنگين).
3- کلاس را با Final و Initialize/__construct شروع کنيد و با __destruct پايان دهيد و با قرار دادن ; در آخر کلاس کامل ببندينش:

final class Name 
{
public function Name()
{
}
final public function __construct()
{
#...
}
final public function __destruct()
{
#...
}
};

4- براي Escape کردن کاراکترهاي ويژه و جلوگيري از خيلي از حملات SQL از دستورات زير استفاده کنيد:
کد PHP:

get_magic_quotes_gpc ? $Str_Input= @stripslashes($Str_Input) : $Str_Input= @addslashes($Str_Input);
if(function_exists('mysql_real_escape_string')): @mysql_real_escape_string($Str_Input);
else: @mysql_escape_string($Str_Input);
endif; 

5- در کلاس خود از تابع پيش فرض clone__ براي جلوگيري از تقليد(Clone)(شبيه سازي) توابع استفاده کنيد:
کد PHP:

final public function __clone() 

exit; 

6- هرگز از Cookie براي ذخيره کلمه رمز يا مقادير نمايشي استفاده نکنيد(قابل تغيير هستند).
7- در خط اول هر فايل PHP، بعد از خطا زدايي کامل صفحه، دستور (error_reporting(0 را قرار بديد که تمامي خطا ها و هشدار ها ignore بشن. تا از سو استفاده هاي احتمالي جلوگيري بشه.
8- حتاًامکان از دستور GET_$ براي دريافت مقادير استفاده نکنيد. و به جاش از دستور REQUEST_$ استفاده کنيد(مقدارش رو هم فيلتر کنيد): Request شامل GET, POST, Cookie مي باشد.
10- در اول هر کلاس و تابع حتماً وجود و بودن کلاس و تابع رو چک کنيد!
کد PHP:

if(!extension_loaded('mysql')): exit('Extension MySQL not loaded.'); 
endif; 
...
if(function_exists('mysql_real_escape_string')): mysql_real_escape_string(...); 
else: mysql_escape_string(...); 
endif;
... 

11- هرگز از روش زير براي آدرس دهي(Action) استفاده نکنيد:
کد PHP:

<form name="Frm_Test" action="<?= $_Server['PHP_Self'] ?>" method="post" target="_self"> 
... 
</form> 

چراکه قابل تغيير و دستکاري هستند(براي حملات (XSS(Cross Side Scripting).
راه حل:
کد PHP:

$_PHPSelf= @basename(__File__); 
$_Server['PHP_Self]= @substr($_Server['PHP_Self'], 0, @strpos($_Server['PHP_Self], $_PHPSelf)) . $_PHPSelf; 

13- حتماً تمامي خروجي ها/ورودي ها رو به نوع مربوطش تبديل کنيد:
کد PHP:

echo((string)'Test ' . $_Var_Test); 
return((string)$_Str_Test);
return((int)$_Int_Test); 


14- و در آخر، بهتر و ايمن تره اگر تمامي تگ ها و بلاک ها رو کامل مشخص کنيد و کامل ببنديد:
حافظه و Parser هم دچار مشکل نميشه.
کد PHP:

if(...): ... 
endif; 
if(...): ... 
else(...): ... 
endif; 
if(...): ... 
elseif(...): ... 
else(...): ... 
endif; 
if(...) 

... 
}; 
if(...): ... 

... 

else 

... 
}; 
while(...): 
endwhile; 
while(...) 

}; 
for... 
foreach... 
... 

در مقاله بعدي تعداد ديگه اي از اين نکات و اصول مهم رو مي نويسم(سطح متوسط).
موفق باشيد.
منبع:http://forum.iranphp.org
Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image