0

نکات مهم در پی اچ پی php

 
iflashlord
iflashlord
کاربر برنزی
تاریخ عضویت : تیر 1388 
تعداد پست ها : 27
محل سکونت : اصفهان

نکات مهم در پی اچ پی php

- حتاًالمکان از تگ ?> به جای php?> استفاده کنید. در عمل تفاوتی ندارند ولی در حجم، به ازای هر 3 کاراکتر اضافی 3 بایت حجم فایل و صفحه میبره بالا(مخصوصاً در پروژه های سنگین)!

2- هرگز فایل های ضمیمه شده رو با پسوند inc. ذخیره نکنید! یعنی name.class.inc رو به name.class.php تغییر بدید.

3- کلاس های خود را با قرار دادن ; کامل ببندید(نقطه ویرگول) و کلاس را با Initialize یا construct__ شروع کنید:
کد PHP:
 class Name
{
}; 
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(...);
else: @
mysql_escape_string(...);
endif; 


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


کد PHP:
final public function __clone()
{
return(@exit(
'Cloning is not allowed.'));



6- هرگز از Cookie و Session برای ذخیره کلمه رمز یا مقادیر نمایشی استفاده نکنید(قابل دستکاری هستند)!

7- در خط اول هر فایل PHP، دستور (error_reporting(E_ALL@ را قرار بدید که تمامی خطا ها و هشدار ها رو نمایش بده. تا از سو استفاده های احتمالی جلوگیری بشه.

8- حتاًامکان از دستور Get_$ استفاده نکنید. و به جاش از دستور Post_$ یا Request_$ استفاده کنید.

9- حتماً تمامی دستورات Exit و Die رو با رد کردن خطا و بستن محتوا استفاده کنید.
مثلاً:


کد PHP:
@exit(''); یا @die(''); 


10- در اول هر کلاس و تابع حتماً وجود و بودن کلاس و تابع رو چک کنید!
مثلاً:

$_Server['PHP_Self'] معتبر سازی

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

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

  $_PHPSelf
= @basename(__File__);
$_Server['PHP_Self]= @substr($_Server['PHP_Self'], 0, @strpos($_Server['PHP_Self], $_PHPSelf)) . $_PHPSelf
ایمن سازی کلمات رمز
12- برای ایمن سازی کلمات رمز در هنگام ثبت نام(عضویت) یا ورود کاربر، حتماً یکی از الگوهای رمز گذاری(Hash) را استفاده کنید:
مثال:


کد PHP:
$_Str_Password$_Post['InpTxt_Password'];
$_Str_SecurePasswordmd5($_Str_Password); یا  $_Str_SecurePasswordsha1($_Str_Password); 
ایمن سازی شرط و شروط ها
13- بهتر و ایمن تره اگر تمامی تگ ها و بلاک هارو کامل مشخص کنید و کامل ببندید:
کد PHP:


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

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

if(...)
{
...
};

if(...): ...
{
...
}
else
{
...
};

while(...):
endwhile;

while(...)
{
};

for...
foreach...
... 
خروجی ها و انعکاس ها
14- بهتر و ایمن تره که به جای:


کد PHP:
echo 'Test ' . $_Test;
و
return 'Test ' . $_Test;
و
<?php echo 'Test ' $_Test?>
این را جایگزین کنید:


کد PHP:
echo((string)'Test ' . $_Test);
و
return((string)'Test ' . $_Test);
و
<?= 'Test ' $_Test ?>

موفق باشید.

منبع : farsweb.ir

ز راه خاکساری کسب عزت کرده ام صائب / که چون خورشید هم بالای سر هم زیر پا باشم

دوشنبه 6 اردیبهشت 1389  7:49 PM
تشکرات از این پست
دسترسی سریع به انجمن ها