نکات و اصول مهم در برنامه نویسی(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




نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط
موارد بیشتر برای شما
پاسخ موشکی حزب‌الله به حملات صهیونیست‌ها قبل آغاز آتش‌بس
play_arrow
پاسخ موشکی حزب‌الله به حملات صهیونیست‌ها قبل آغاز آتش‌بس
گزارش حسینی‌بای از لحظات آغاز آتش‌بس در لبنان
play_arrow
گزارش حسینی‌بای از لحظات آغاز آتش‌بس در لبنان
تشریح آتش‌بس در لبنان
play_arrow
تشریح آتش‌بس در لبنان
انفجار در نزدیکی محل بازی فوتبال خداداد و شمسایی در لبنان
play_arrow
انفجار در نزدیکی محل بازی فوتبال خداداد و شمسایی در لبنان
رئیس دادگستری تهران: حکم پروندۀ چای دبش تا پایان ماه صادر می‌شود
play_arrow
رئیس دادگستری تهران: حکم پروندۀ چای دبش تا پایان ماه صادر می‌شود
مهاجرانی: قرار نیست مردم را غافلگیر کنیم
play_arrow
مهاجرانی: قرار نیست مردم را غافلگیر کنیم
شیادی که با هک صفحۀ دختران از آن‌ها اخاذی می‌کرد دستگیر شد
play_arrow
شیادی که با هک صفحۀ دختران از آن‌ها اخاذی می‌کرد دستگیر شد
حقوق سال آیندۀ کارمندان و بازنشستگان چگونه محاسبه می‌شود؟
play_arrow
حقوق سال آیندۀ کارمندان و بازنشستگان چگونه محاسبه می‌شود؟
وزیر نیرو: خاموشی در هیچ نقطه‌ای از کشور اعمال نمی‌شود
play_arrow
وزیر نیرو: خاموشی در هیچ نقطه‌ای از کشور اعمال نمی‌شود
سقط جنین از مافیا گذشته و به صنعت تبدیل شده
play_arrow
سقط جنین از مافیا گذشته و به صنعت تبدیل شده
مجری سابق فاکس‌نیوز: شیطان کاخ سفید را اداره می‌کند
play_arrow
مجری سابق فاکس‌نیوز: شیطان کاخ سفید را اداره می‌کند
محمد گلریز در دیدار با رهبر معظم انقلاب: امیدوارم سرود پیروزی را در مسجد الاقصی بخوانم
play_arrow
محمد گلریز در دیدار با رهبر معظم انقلاب: امیدوارم سرود پیروزی را در مسجد الاقصی بخوانم
تصاویر متفاوت از لحظه ورود رهبر معظم انقلاب در دیدار با بسیجیان
play_arrow
تصاویر متفاوت از لحظه ورود رهبر معظم انقلاب در دیدار با بسیجیان
خطوط مختلف خوشنویسی اسلامی
خطوط مختلف خوشنویسی اسلامی
رازهای زندگی حضرت زهرا (س) از زبان سلمان فارسی
رازهای زندگی حضرت زهرا (س) از زبان سلمان فارسی