بازگشت   پی سی سیتی > کامپیوتر اینترنت و شبکه Computer internet > زبان های برنامه نویسی Programming

زبان های برنامه نویسی Programming بحث در مورد زبانهای مختلف برنامه نویسی

پاسخ
 
ابزارهای موضوع نحوه نمایش
  #1  
قدیمی 05-18-2013
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,679
سپاسها: : 1,370

7,404 سپاس در 1,880 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض اجتناب از 10 اشتباه ناخواسته در زبان پی اچ پی Are You Making These 10 PHP Mistakes?

اجتناب از 10 اشتباه ناخواسته در زبان پی اچ پی Are You Making These 10 PHP Mistakes




One of the best things about PHP is that it’s a great language to just “dive into”, thanks to its wide-ranging popularity. Anyone with the ability to hit “Search” on Google can quickly create a program. However, this also lends to a major criticism of PHP: it’s almost too easy to find and reproduce bad code.
Here are 10 PHP mistakes that any programmer, regardless of skill level, might make at any given time. Some of the mistakes are very basic, but trip up even the best PHP programmer. Other mistakes are hard to spot (even with strict error reporting). But all of these mistakes have one thing in common: They’re easy to avoid



Take the time and make sure that your PHP is secure, clean and running smoothly by checking your site for these common PHP blunders.
------------------------------------------------------
اشتباهات رایجی وجود دارند که گاها برنامه نویس های مبتدی حواسشون نیست و برنامه شون دچار اشکال میشه
که بعضا تقصیر خود برنامه نویس هم نیست بنابراین بهتره که به بعضی از رایج تریناش اشاره بشه



مثلا شما فرض کنید که توی پی اچ پی نسخه 4 و 5 در مورد کارکرد تابع

empty()

تفاوت هست مثلا :
کد PHP:
class Foo {
 function 
Foo() {
 }
 function 
bar() {
 }
 }
 
$foo = new Foo();
 if (empty(
$foo)) {
 
// this code executes in PHP4 (but NOT in PHP5)!
 

__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
جای تبلیغات شما اینجا خالیست با ما تماس بگیرید




  #2  
قدیمی 05-18-2013
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,679
سپاسها: : 1,370

7,404 سپاس در 1,880 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض Single quotes vs double quotes PHP

1. Single quotes, double quotes

It’s easy to just use double quotes when concatenating strings because it parses everything neatly without having to deal with escaping characters and using dot values. However, using single quotes has considerable performance gains, as it requires less processing.
Consider this string:
کد PHP:
# $howdy = 'everyone';   
# $foo = 'hello $howdy';   
# $bar = "hello $howdy"; 


$foo outputs to “hello $howdy” and $bar gives us “hello everyone”. That’s one less step that PHP has to process. It’s a small change that can make significant gains in the performance of the code.


اگر میخواهید مقدار متغیر هاتون در رشته جایگزین بشه از دابل کوتیشن استفاده کنید در غیر اینصورت میتونین با استفاده از سینگل کوتیشن علامت $ رو در رشته چاپ کنید و دنبال مقدار متغیر نخواهد بود .

__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #3  
قدیمی 05-18-2013
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,679
سپاسها: : 1,370

7,404 سپاس در 1,880 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض Semicolon after a While عدم استفاده از سیمی کالن بعد از حلقه

2. Semicolon after a While


It’s funny how one little character can create havoc in a program, without even being reported to the PHP error logs! Such as it is with semicolons and While statements.
Codeutopia has an excellent example of this little error, showing that these nasty errors don’t even get reported (even to E_ALL!), as it quietly falls into a silent loop.
کد PHP:
$i 0;  
while(
$i 20); {    //some code here  
  
$i++;  

Omit the ; after the while statement, and your code is in the clear.


بدون هیچ پیغام خطایی برنامه میره رو هوا

__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #4  
قدیمی 05-18-2013
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,679
سپاسها: : 1,370

7,404 سپاس در 1,880 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض استفاده از سیستم های کش دیتابیس در برنامه های php 3. Using database caching

استفاده از سیستم های کش دیتابیس در برنامه های php


نقل قول:
What is Memcached?

Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
Memcached is simple yet powerful. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches. Its APIis available for most popular languages.



3. NOT Using database caching


If you're using a database in your PHP application, it is strongly advised that you at least use some sort of database caching. Memcached has emerged as the most poplar caching system, with mammoth sites likeFacebook endorsing the software.
Memcached is free and can provide very significant gains to your software. If your PHP is going into production, it's strongly advised to use the caching system.


کارشناسا توصیه اکید میکنند که حتما از یکی از سیستم های کش دیتابیس استفاده کنید
لیست مشتری های مثال فوق برق رو از سر ادم میپرونه ! .
__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #5  
قدیمی 05-18-2013
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,679
سپاسها: : 1,370

7,404 سپاس در 1,880 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض Missing Semicolon After a Break or a Continue - PHP

4. Missing Semicolon After a Break or a Continue



Like #2, a misused semicolon can create serious problems while silently slipping off into the shadows, making it quite difficult to track the error down.
If you're using a semicolon after a "break" or "continue" in your code, it will convince the code to output a "0" and exit. This could cause some serious head scratching. You can avoid this by using braces with PHPcontrol structures (via CodeUtopia).


البته من بدون سیمی کالن تست کردم خطا میگیره .
__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #6  
قدیمی 05-18-2013
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,679
سپاسها: : 1,370

7,404 سپاس در 1,880 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض فعال کردن سیستم گزارش خطا در پی اچ پی PHP Using E_ALL Reporting

فعال کردن سیستم گزارش خطا در پی اچ پی PHP Using E_ALL Reporting


5. Not Using E_ALL Reporting



Error reporting is a very handy feature in PHP, and if you're not already using it, you should really turn it on. Error reporting takes much of the guesswork out of debugging code, and speeds up your overall development time.
While many PHP programmers may use error reporting, many aren't utilizing the full extent of error reporting. E_ALL is a very strict type of error reporting, and using it ensures that even the smallest error is reported. (That's a good thing if you're wanting to write great code.)
When you're done developing your program, be sure to turn off your reporting, as your users probably won't want to see a bunch of error messages on pages that otherwise appear fine. (Even with the E_ALL error reporting on they hopefully won't see any errors anyway, but mistakes do happen.)



تمام جزئیات خطا ها رو نشون میده و هیچ چی رو جا نمیذاره و میتونین استفاده مفیدی ازش داشته باشین که عموما ازش غافل هستند .


__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #7  
قدیمی 05-18-2013
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,679
سپاسها: : 1,370

7,404 سپاس در 1,880 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض استفاده از محدودیت حداکثر زمان پاسخ و اجرا صفحات پی اچ پی php Setting Time Limits On PHP Scripts

استفاده از محدودیت حداکثر زمان پاسخ و اجرا صفحات پی اچ پی php Setting Time Limits On PHP Scripts

6. Not Setting Time Limits On PHP Scripts


When PHP scripts run, it's assumed that they'll eventually finish in a timely manner. But every good programmer knows that nothing should be assumed in a piece of code. Nothing makes a program crankier than an unresponsive script.
You can get around this issue by simply setting a time limit on the script (set_time_limit). While it may seem like a trivial thing, it's always clever to prepare for the worst.


خب یه صفحه پی اچ پی حتما باید نهایتا تا یک زمان خاصی اجراش خاتمه پیدا بکنه و بیش از حد خاصی منتظر باقی نمونه به همین خاطر میتونین از تابع فوق به شکل زیر استفاده کنین :



کد PHP:
set_time_limit(20); 



همچنین دو تابع زیر نیز میتونه در موارد مختلف مورد استفاده قرار بگیره

فقط اینکه هیچ کدام از این توابع در حالت safe mode کار نمیکنند .
__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #8  
قدیمی 05-18-2013
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,679
سپاسها: : 1,370

7,404 سپاس در 1,880 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض محافظت از آی دی جلسه در پی اچ پی - محافظت از مشخصه نشست Not Protecting Session ID's php

محافظت از آی دی جلسه در پی اچ پی - محافظت از مشخصه نشست Protecting Session ID's


7. Not Protecting Session ID's




A very common PHP security mistake is not protecting session ID's with at least some sort of encryption. Not protecting these Session ID's is almost as bad as giving away a user's passwords. A hacker could swoop in and steal a session ID, potentially giving him sensitive information. MT Soft an example of how to protect Session ID's with sha1:

کد PHP:
if ($_SESSION['sha1password'] == sha1($userpass))
 {   
// do sensitive things here  
  


</span>

Adding the shai1 to the ($userpass) gives an added bit of security to the session. Sha1 isn't a bulletproof method, but it's a nice barrier of security to keep malicious users at bay.




همچنین میتونین برای مشاهده سایر اشتباهات امنیتی رایج در پی اچ پی به این مقاله مراجعه کنین

The 7 most common PHP security mistakes






بهتره که حتما سشن (نشست - جلسه ) رو رمز کنید
کد PHP:
if ($_SESSION['password'] == $userpass) {   // do sensitive things here  }The above code is not secure, since the password is stored in plain  text in a session variable. Instead, use code more like this:if ($_SESSION['sha1password'] == sha1($userpass)) {   // do sensitive things here  } 
خصوصا نوشته شده که هیچگاه برای یک یوزر ولید شده اجازه تغییر پسورد رو بدون وارد کردن پسورد قبلی خودش ندین چون یک هکر میتونه با دستکاری سشن خودش بعد از لاگین و ولید شدن پسورد کس دیگه ای رو عوض کنه .


__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست




ویرایش توسط دانه کولانه : 05-18-2013 در ساعت 01:01 AM
پاسخ با نقل قول
  #9  
قدیمی 05-18-2013
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,679
سپاسها: : 1,370

7,404 سپاس در 1,880 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض جلوگیری از ورود داده های غیر معتبر و خطرناک توسط کوکی ها به برنامه php Validating Cookie Data

جلوگیری از ورود داده های غیر معتبر و خطرناک توسط کوکی ها به برنامه php Validating Cookie Data


How much trust do you put into cookies? Most people don't think twice about the seemingly-harmless bit of data that's passed by a cookie. The name "cookie" itself is associated Milk, nap time and Santa, for crying out loud! How could a cookie possibly harmless?
If you're not validating cookie data, you're opening your code to potential harmful data. You should usehtmlspecialchars() or mysql_real_escape_string() to validate the cookie before storing it in a database.

خب یه برنامه نویس مبتدی میدونه که حتما اطلاعاتی که از طرف یوزر توسط فرم ها و باکسهای ورودی یا متغیر های پست و گت برای برنامه ارسال میشه باید حتما ولیدیت بشه اگر کد مخربی داخل اون هست با توابع مشخصی مثل htmlspecialchars() هرس بشه
اما شاید خیلی کم به این نکته توجه داشته باشیم که یکی دیگه از راه های ورود اطلاعت به صفحه ما همون کوکی هایی هستند که خود برنامه تولید کرده اما هکر روی کامپیوتر خودش میتونه اطلاعات اون رو عوض و کدهای مخرب رو در اون وارد کنه .
__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #10  
قدیمی 05-18-2013
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,679
سپاسها: : 1,370

7,404 سپاس در 1,880 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض جلوگیری از ورود داده های غیر مجاز و مخرب Escaping Entities

جلوگیری از ورود داده های غیر مجاز و مخرب Escaping Entities

9. Not Escaping Entities

Many times PHP programmers are too trusting with data, especially data generated by user. It's imperative to sanitize data before it goes into any sort of storage, like a database.
Source Rally shows us how to correctly escape entities in things like forms. Instead of using this:



  • کد PHP:
    echo $_GET['username']; 
You can validate the data by using htmlspecialchars() (or htmlentities()) like so:



  • کد PHP:
    echo htmlspecialchars($_GET['username'], ENT_QUOTES); 
در پست قبلی در این مورد توضیح دادم .
__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
پاسخ

برچسب ها
php, اختصاصی


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 
ابزارهای موضوع
نحوه نمایش

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
اچ تی ام ال غیر فعال می باشد



اکنون ساعت 06:21 AM برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد.



Powered by vBulletin® Version 3.8.4 Copyright , Jelsoft Enterprices مدیریت توسط کورش نعلینی
استفاده از مطالب پی سی سیتی بدون ذکر منبع هم پیگرد قانونی ندارد!! (این دیگه به انصاف خودتونه !!)
(اگر مطلبی از شما در سایت ما بدون ذکر نامتان استفاده شده مارا خبر کنید تا آنرا اصلاح کنیم)


سایت دبیرستان وابسته به دانشگاه رازی کرمانشاه: کلیک کنید




  پیدا کردن مطالب قبلی سایت توسط گوگل برای جلوگیری از ارسال تکراری آنها