درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من
    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      محمد نصیری
      امتیاز: 579069
      رتبه:1
      366
      1663
      802
      10666
      محمد نصیری ، بنیانگذار TOSINSO ، کارشناس امنیت اطلاعات و ارتباطات و کشف جرائم رایانه ای ، هکر کلاه سفید ، تخصص در حوزه امنیت سیستم عامل و تست های نفوذسنجی ، لینوکس ، مجازی سازی ، سرویس های کاربردی سرور و ... سابقه همکاری در بیش از 40 سازمان دولتی ، خصوصی و نظامی در حوزه پروژه ، مشاوره و آموزش ، بیش از 10 هزار ساعت سابقه آموزشی در طی 12 سال فعالیت حرفه ای ... پروفایل کاربر

      کاملترین مقایسه بین زبان برنامه نویسی وب ASP.NET و PHP - قسمت سوم

      تاریخ 58 ماه قبل
      نظرات 0
      بازدیدها 5415
      در مقاله دوم از این سری مقالات ابتدا به بررسی تکنولوژی های مورد استفاده در زبان های برنامه نویسی PHP و ASP.NET پرداختیم ، سپس بررسی کردیم که برنامه نویسی با کدامیک از زبان های برنامه نویسی ASP.NET یا PHP ساده تر است و در نهایت بحث وابستگی به سیستم عامل در هر دو زبان برنامه نویسی را بررسی کردیم ، در این مقاله دو فاکتور مهم دیگر را با هم بررسی می کنیم ، اولین فاکتور بحث امنیت است ، امنیت کدام زبان برنامه نویسی وب PHP یا ASP.NET بیشتر است و در نهایت با همدیگر سرعت و کارایی هر یک از این زبان های برنامه نویسی را بررسی خواهیم کرد پس تا آخر مقاله با ما باشید.

      فاکتور چهارم : امنیت ASP.NET بیشتر است یا PHP ؟


      پرسیدن این موضوع که امنیت در ASP.NET بیشتر است یا در PHP دقیقا مثل همین سئوال است که امنیت در لینوکس بیشتر است یا در ویندوز ، در نهایت شما به جواب قاطعی در این زمینه دست پیدا نخواهید کرد. بحث امنیت بیشتر در حوزه میزان تخصص و دانش برنامه نویس بستگی دارد ، چه بسا شما یک اتومبیل FJCruser ( عشق منه این ماشین ) داشته باشید و بلد نباشید با آن رانندگی کنید ، این اتومبیل با پیکان برای شما تفاوتی نخواهد داشت چون دانش استفاده از آن را ندارید. اما مواردی هم هست که کمی قبل تر هم در مورد آنها صحبت کردیم ، یکی از موارد امنیتی که در پروژه های PHP وجود داشت این بود که فایل های PHP متن باز هستند و در صورتیکه کسی به سرور شما دسترسی داشته باشد می تواند سورس کدهای شما را براحتی بخواند اما در ویندوز با دلیل اینکه فایل ها قبل از اجرا توسط کامپایلر به فایل های DLL تبدیل می شوند و دارای قابلیت Code-Behind هستند نمی توان از این نقطه ضعف استفاده کرد. PHP برای پوشش این مسئله و Encode کردن سورس کد های خود قابلیت Zend را معرفی کرد که یک روش رمزنگاری برای کدهای PHP می باشد که دیگر این نقطه ضعف را نداشته باشند.

      امنیت در برنامه نویسی ASP.NET بیشتر است یا در PHP


      یکی دیگر از مزایایی که به عنوان مزیت امنیتی برای PHP محسوب می شود این است که نرم افزارهایی که بصورت عام و در قالب پروژه هایی مثل GNU ارائه می شوند متن باز هستند و شما می توانید سورس کد آنها را مشاهده و از نظر امنیتی آن را تحلیل کنید و به دلیل استفاده زیاد افراد در دنیا از اینگونه نرم افزارها و بدست آوردن باگ های امنیتی آن کدهای PHP از امنیت بالاتری برخوردارند . این بحث درست نیست زیرا همانطور که کدهای باز می تواند باعث بالاتر رفتن امنیت شوند باعث انتشار باگ های امنیتی یک محصول هم می توانند باشند ، یک هکر می تواند سورس کد یک محصول را بصورت کامل در اختیار داشته باشد و آن را از نظر امنیتی تحلیل و با نقاط ضعف بدست آمده به آن حمله کند اما در کدهای ASP.NET همچنین مشکلی وجود ندارد. البته باز هم تاکید می کنم که هیچ ملاکی برای امنیت بیشتر برنامه نویسی PHP بر ASP.NET و برعکس آن وجود ندارد و صرفا این دانش یک برنامه نویس است که تعیین کننده امنیت یک نرم افزار است. برای مثال CMS رایگان Joomla که بصورت رایگان در اینترنت وجود دارد یکی از اهداف همیشگی و ساده هکرها محسوب می شود ، اگر می خواهید در خصوص انواع حملاتی که به Web Application ها انجام می شود اطلاعاتی بدست بیاوردی به مقاله زیر از خودم مراجعه کنید که در انجمن امنیت اطلاعات و ارتباطات همین وب سایت قرار گرفته است :


      برخی اوقات مشاهده می کنیم که برنامه نویس های PHP این ادعا را دارند که چون سایت های بزرگی مثل گوگل ، یاهو و ... از برنامه نویسی PHP استفاده می کنند بنابراین امنیت این برنامه نویسی از ASP.NET بیشتر است. قبل از هر چیز باید یک نکته را خاطر نشان کنیم که این یک تصور نادرست است که بگوییم یک وب سایت بزرگ در دنیا صرفا از یک زبان برنامه نویسی استفاده می کند ، معمولا این وب سایت ها از انواع زبان های برنامه نویسی برای کار خود استفاده می کنند که قطعا PHP هم می تواند جزوی از آنها باشد ، PHP در گوگل به عنوان زبان برنامه نویسی اصلی به کار نمی رود ، زبان غالب اکثرا در این وب سایت ها C و C++ و جاوا می باشد و در برخی از ماژول های زیر مجموعه ممکن است از PHP استفاده کنند ، عزیزان توجه کنید که ASP.NET با برند مایکروسافت معرفی می شود و طبیعی است که حتی اگر بهترین زبان برنامه نویسی دنیا هم باشد شرکت های رقیب از آن برای نمایش کار خود استفاده نکنند. اما به واقع می توان گفت زبان برنامه نویسی PHP بسیار بسیار محبوب تر و مرسوم تر از ASP.NET در اینترنت می باشد ، برای اثبات این دو موضوع به مطالب زیر مراجعه کنید :


      فاکتور پنجم : سرعت و کارایی ASP.NET بیشتر است یا PHP ؟


      قبل از اینکه این بحث را باز کنیم یک مسئله را روشن کنیم ، توجه کنید که شما هر کاری را که می توانید با برنامه نویسی وب PHP انجام دهید با برنامه نویسی ASP.NET نیز می توانید انجام دهید و بر عکس همین موضوع نیز صادق است . سرعت و کارایی هر زبان برنامه نویسی به عوامل مختلفی بستگی دارد که از آن جمله می توان به تکنولوژی مورد استفاده در زبان برنامه نویسی ، نوع سیستم عامل مورد استفاده ، نوع فایل سیستم مورد استفاده ، بزرگی و گستردگی برنامه و پروژه و دانش برنامه نویسی اشاره کرد. در وهله اول برنامه نویسان ASP.NET اینطور القاء می کنند که چون زبان برنامه نویسی ASP.NET یک زبان کامپایلری است و زبان PHP یک زبان مفسری است بنابراین سرعت اجرا کدها در ASP.NET بیشتر از سرعت اجرا کدها در PHP است. این حرف هم درست است و هم اشتباه ، درست از این بابت که سرعت اجرای برنامه های کامپایل شده که در قالب فایل های DLL وجود دارند از برنامه های مفسری که بصورت خط به خط اجرا می شوند بیشتر است. یک اسکریپت PHP سرعت بیشتری نسبت به اسکریپت مشابه در ASP.NET دارد اما دلیلی برای اینکار وجود دارد.

      زمانیکه شما یک اسکریپت PHP را اجرا می کنید این کد به سرعت تفسیر شده و اجرا می شود و خروجی به مرورگر کاربر ارسال می شود که در این میان وقفه ای نداریم ، اما زمانیکه صحبت از اسکریپت ASP.NET می شود این کد علاوه بر اینکه به خودی خود باید اجرا شود بایستی چندین ماژول مانند ماژول های خواندن تنظیمات ، کنترل کردن Web Form ها ، انجام authentication ها و بسیاری دیگر از موارد را بصورت همزمان انجام دهد که همین مورد باعث کمتر شدن سرعت آن نسبت به مفسر PHP می شود. اینجاست که برنامه نویس های PHP به خود مغرور می شوند که زبان سریعتری دارند اما حقیقت طور دیگری است. بدون شک در برنامه هایی با تعداد خطوط پایین و اسکریپت های کوچک برتری با PHP است اما در سطوح کلان و برنامه های بسیار بزرگ سطح Enterprise که دارای ده ها یا صدها هزاران خط هستند برتری بدون شک با زبان های کامپایلری است . هر چند برنامه هایی برای سرعت بخشیدن به عملیات اجرای کدهای PHP ایجاد شده است اما همچنان برتری در سطح کلان با ASP.NET است.

      سرعت PHP بهتر است یا ASP.NET


      نوع سیستم عامل نیز عامل بسیار مهمی در سرعت اجرا نرم افزارها می باشد. قطعا و بدون شک سیستم عامل ویندوز از نظر کارایی و سرعت نمی تواند با سرویس های لینوکسی برابری کند. این را به حساب تجربه کاری بنده با این سیستم عامل ها بگذارید. ویندوز به یکباره کلیه منابع سیستم را در اختیار می گیرد و وجود رابط گرافیکی ناخواسته سرعت اجرای نرم افزارها و سرویس ها را کند می کند ، اما لینوکس بر حسب نیاز اینکار را انجام می دهدو تمامی کارها از طریق Command و دستورات خط فرمان انجام می شود و رابط گرافیکی عملا وجود ندارد. سرویس های لینوکس بسیار قابل اعتمادتر از سرویس ها در ویندوز هستند و قطعا به این مورد برخورده اید که با انجام هر تغییری در سیستم عامل ویندوز یک Restart نیاز است. اما توجه کنید که اگر کدهای ASP.NET را بر روی سرور لینوکس و از طرفی کدهای PHP را بر روی سرور ویندوزی اجرا کنید که قطعا هم این امکان وجود دارد دیگر سیستم عامل جزو ملاک های سرعت و کارایی نمی تواند باشد. از طرفی طبق تحقیقات فایل سیستم مورد استفاده در هارد دیسک شما نیز می تواند عامل سرعت اجرای کد شما باشد که در این حالت گفته می شود بهترین فایل سیستم برای سرعت فایل سیستم لینوکسی ext4 است. هر چند این ملاک ها نسبی است زیرا بیشتر ما می خواهیم در خصوص خود برنامه نویسی صحبت کنیم نه سخت افزار و فایل سیستم ، در اینصورت وجود RAID در هارد دیسک ها نیز می تواند جزو ملاک ها محسوب شود. با توجه به تحقیقات انجام شده در صورت اجرای کدهای ASP.NET با استفاده از MONO در لینوکس سرعت اجرا آن از PHP به نسبت بالاتر خواهد بود.

      اما از همه اینها بگذریم مهم دانش برنامه نویسی است که در این حوزه استفاده می شود ، شیوه Query گرفتن و شیوه کد نویسی بر حسب دانش افراد در این حوزه متفاوت است ، هر چقدر هم که شما پروژه بزرگتری داشته باشید طبیعی است که دانش بیشتری را نیاز خواهید داشت ، در این خصوص به یک خاطره اکتفا می کنم ، در حوزه پایگاه داده قطعا Oracle از برتری مشهوی نسبت به MSSQL Sever برخوردار است. در یکی از پروژه هایی که یکی از دوستان در یک سازمان دولتی داشت قرار شد که یک Query از دیتابیس های Oracle گرفته شود که بعد از نوشته شدن این Query و اجرای آن در حدود 30 ثانیه پاسخ به Query و دریافت پاسخ از Oracle طول کشید اما جالب اینجا بود که همین Query در MSSQL Server تنها 5 ثانیه طول می کشید. در اینجا مسئله دانش Oracle بود که دوست ما این دانش را نداشت. فردای همان روز یک Oracle کار حرفه ای همان Query را با کمی تغییر در Oracle وارد کرد و مشاهده کردیم که پاسخ در کمتر از یک دهم ثانیه ارائه شد. این نشان از اهمیت دانش برنامه نویسی و کد نویسی در سرعت و کارایی یک برنامه دارد که واقعا از همه چیز در بحث سرعت و کارایی مهمتر است. در مقاله بعدی فاکتورهای نهایی مقایسه این دو زبان برنامه نویسی را با هم مقایسه خواهیم کرد . ITPRO باشید

      نویسنده : محمد نصیری
      منبع : جزیره طراحی و توسعه وب وب سایت توسینسو
      هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد
      برچسب ها
      ردیفعنوان
      1کاملترین مقایسه بین زبان برنامه نویسی وب ASP.NET و PHP - قسمت اول
      2کاملترین مقایسه بین زبان برنامه نویسی وب ASP.NET و PHP - قسمت دوم
      3کاملترین مقایسه بین زبان برنامه نویسی وب ASP.NET و PHP - قسمت سوم
      4کاملترین مقایسه بین زبان برنامه نویسی وب ASP.NET و PHP - قسمت چهارم
      دورهمجموعه کل دوره
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      هیچ نظری ارسال نشده است

        برای ارسال نظر ابتدا به سایت وارد شوید