امتیاز موضوع:
  • 16 رأی - میانگین امتیازات: 2.5
  • 1
  • 2
  • 3
  • 4
  • 5
نکات و اصول مهم در برنامه نویسی(قسمت اول)
#1
[تصویر:  Web-Coding-icon.png]
نکات و اصول مهم در برنامه نویسی
1- هرگز فایل های ضمیمه شده رو با پسوند inc. ذخیره نکنید. یعنی name.class.inc رو به name.class.php تغییر بدید. و یا از .HTAccess یا HT برای تعیین سطح دسترسی inc. استفاده کنید.

کد php:
<FilesMatch "\.(htaccess|ht|inc)$">
Order Allow,Deny
Allow from localhost
Allow from 127.0.0.1
Deny from all
</FilesMatch


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

3- کلاس را با __construct یا نام کلاس شروع کنید و با __destruct پایان دهید. و تمامی متغیر های داخل کلاس رو درون تابع __destrunt با unset نابود کنید. اگر هم از ارث بری کلاس استفاده نمی کنید، کلاس و توابع را با کلمه کلیدی final آغاز کنید.


کد php:
class MyClass
{
    public function 
__construct()
    {
        
# Codes...
    
}
}

class 
MyClass
{
    public function 
MyClass()
    {
        
# Codes...
    
}
}

final class 
MyClass
{
     public function 
MyClass()
    {
        
# Codes...
    
}

     private function 
_MyFunction()
    {
        
# Codes...
    
}




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


کد php:
addslashes mysql_real_escpe_string... 

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


کد php:
class MyClass
{
    final public function 
__clone()
    {
        exit;
    }



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

7- در خط اول هر فایل PHP، بعد از خطا زدایی کامل صفحه، دستور (error_reporting(0 را قرار بدید که تمامی خطا ها و هشدار ها ignore بشن. تا از سو استفاده های احتمالی جلوگیری بشه.
یا از ini_set('error_log', 'logs/error.log'); استفاده کنید.

8- حتاًامکان از دستور GET_$ برای دریافت مقادیر(فرم/url) استفاده نکنید. دستور REQUEST_$ یا $_POST رو جایگزینش کنید(مقادیر ورودی رو هم ف=ی=ل=ت=ر کنید): Request شامل GET, POST, Cookie هستش.
"""""""برای حذف COOKIE از REQUEST از عبارت زیر استفاده کنید:""""""""""

کد php:
$_REQUEST array_merge($_GET$_POST); 

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:
$_PHPSelfbasename(__file__); $_Server['PHP_Self']= substr(&$_Server['PHP_Self'], 0strpos(&$_Server['PHP_Self'], &$_PHPSelf)) . $_PHPSelf


یا داخل تابع htmlspecialchars قرارش بدید.
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  نکات و اصول مهم در برنامه نویسی(قسمت دوم) انجمن مخ ها 0 277 28-08-2012، 01:39 PM
آخرین ارسال: انجمن مخ ها

پرش به انجمن:


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