امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
نکات و اصول مهم در برنامه نویسی(1#)
نویسنده پیام
Y.P.Y آفلاین
كاربر تک ستاره
*

ارسال‌ها: 50
موضوع‌ها: 27
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 5
( 56 تشکر در 29 ارسال )
ارسال: #1
نکات و اصول مهم در برنامه نویسی(1#)
نکات و اصول مهم در برنامه نویسی(1#):

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

2- حتاًالمکان تگ های اضافی و فضا های خالی را حذف کنید و از باز و بسته کردن بیش از حد تگهای سرور خودداری کنید(مخصوصاً در پروژه های سنگین).

3- کلاس را با Final و Initialize/__construct شروع کنید و با __destruct پایان دهید و با قرار دادن ; در آخر کلاس کامل ببندینش:
کد php:
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
۰۱-شهریور-۱۳۸۸, ۲۰:۴۹:۴۴
ارسال‌ها
پاسخ
تشکر شده توسط : ajlajlajl, ha_60, hamed_Arfaee


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  نکات و اصول مهم در برنامه نویسی(3#) Y.P.Y 2 2,054 ۰۲-شهریور-۱۳۸۸, ۱۲:۱۹:۳۲
آخرین ارسال: Y.P.Y
  نکات و اصول مهم در برنامه نویسی(2#) Y.P.Y 2 2,594 ۰۲-شهریور-۱۳۸۸, ۱۲:۱۸:۰۸
آخرین ارسال: Y.P.Y

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS