نکات و اصول مهم در برنامه نویسی(1)

1- هرگز فایل های ضمیمه شده رو با پسوند inc. ذخیره نکنید! یعنی name.class.inc رو به name.class.php تغییر بدید. و یا از .HTAccess برای تعیین سطح دسترسی inc. استفاده کنید. 2- حتاًالمکان تگ های اضافی و فضا های خالی را حذف کنید و از باز و بسته کردن بیش از حد تگهای سرور خودداری کنید(مخصوصاً در پروژه های سنگین).
يکشنبه، 20 دی 1388
تخمین زمان مطالعه:
موارد بیشتر برای شما
نکات و اصول مهم در برنامه نویسی(1)
نکات و اصول مهم در برنامه نویسی(1)
نکات و اصول مهم در برنامه نویسی(1)






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




نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط