این روز ها با افزایش وب سایت ها و کاربران اینترنت ، امنیت وب سایت روز به
روز احمیت بیشتر می گیرد و برای اینکه این مقوله امنیت وب سایت از خاطر
طراحان وب سایت فراموش نشود شاید هر روز ده ها مقاله مختلف نوشته و منتشر
میابد اما واقع مشکل کجاست
شاید بشه از مهم ترین مقوله های امنیت به مورد زیر اشاره کرد
استفاده از سیستم تشخیص هویت
تنظیم CustomErrors
Debug در سیستم های تحت توسعه دات نت
لاگ رویداد ها و مدیریت خطاها
تنظیمات دیتا بیس
SQL Injection
xss
FileUpload
اعتبار سنجی ViewState
رمز نگاری اطلاعات (Encryption)
هش کردن اطلاعات مهم (Hashing)
رمزکردن متن های اتصال
انتی ربات ها
و شاید صدها موارد ریز و درشت دیگر که می توانه شرایط هک شدن سایت را برای
نفوذ گر فراهم بیاره اما در این میان با برسی بیشتر سایت های هک شده شاید
یک مورد دیگر هم جلب توجه می کنه و ان هم بیشتر سایت ها از cms های اماده
استفاده می کنند و متاسفانه از نسخه های قدیمی بله درسته جوملا ، وردپرس و
... از جمله این سامانه های مدیریت محتوا هستند که به دلیل سورس باز بودن
این سامانه ها همه نفوذگر ها با برسی این سورس ها شاید صدها به خصوص در
نسخه های قدیمی راه برای نفوذ بی دردسر و با هزینه کم پیدا می کنند حالا
این سوال پیش میاد که ایا رایگان بودن این مدیریت محتوا می ارزند به اندازه
امنیت پایدار وب سایت های طراحی اختصاصی ان ؟!؟!
وحال هک شدن بیش از 500 سایت ایرانی در یک روز توسط تیم TeaM System Dz با یک مرورکوچک می توان پی برد که این سایتها همگی ازمدیریت محتوای CMS اماده استفاده میکنند و بدون توجه به باگهای مدیریت محتوا همچون جوملا و وردپرس و عدم بروزرسانی به هنگام این سامانه های مدیریت محتوا خودرا اماه هک شدن توسط نفوذگر ها قرار میدهند
اگر نیازمند به یک طراحی وب سایت امن هستید می توانید با ما در تماس باشید
این روز ها با افزایش وب سایت ها و کاربران اینترنت ، امنیت وب سایت روز به
روز احمیت بیشتر می گیرد و برای اینکه این مقوله امنیت وب سایت از خاطر
طراحان وب سایت فراموش نشود شاید هر روز ده ها مقاله مختلف نوشته و منتشر
میابد اما واقع مشکل کجاست
شاید بشه از مهم ترین مقوله های امنیت به مورد زیر اشاره کرد
استفاده از سیستم تشخیص هویت
تنظیم CustomErrors
Debug در سیستم های تحت توسعه دات نت
لاگ رویداد ها و مدیریت خطاها
تنظیمات دیتا بیس
SQL Injection
xss
FileUpload
اعتبار سنجی ViewState
رمز نگاری اطلاعات (Encryption)
هش کردن اطلاعات مهم (Hashing)
رمزکردن متن های اتصال
انتی ربات ها
و شاید صدها موارد ریز و درشت دیگر که می توانه شرایط هک شدن سایت را برای
نفوذ گر فراهم بیاره اما در این میان با برسی بیشتر سایت های هک شده شاید
یک مورد دیگر هم جلب توجه می کنه و ان هم بیشتر سایت ها از cms های اماده
استفاده می کنند و متاسفانه از نسخه های قدیمی بله درسته جوملا ، وردپرس و
... از جمله این سامانه های مدیریت محتوا هستند که به دلیل سورس باز بودن
این سامانه ها همه نفوذگر ها با برسی این سورس ها شاید صدها به خصوص در
نسخه های قدیمی راه برای نفوذ بی دردسر و با هزینه کم پیدا می کنند حالا
این سوال پیش میاد که ایا رایگان بودن این مدیریت محتوا می ارزند به اندازه
امنیت پایدار وب سایت های طراحی اختصاصی ان ؟!؟!
وحال هک شدن بیش از 500 سایت ایرانی در یک روز توسط تیم TeaM System Dz با یک مرورکوچک می توان پی برد که این سایتها همگی ازمدیریت محتوای CMS اماده استفاده میکنند و بدون توجه به باگهای مدیریت محتوا همچون جوملا و وردپرس و عدم بروزرسانی به هنگام این سامانه های مدیریت محتوا خودرا اماه هک شدن توسط نفوذگر ها قرار میدهند
اگر نیازمند به یک طراحی وب سایت امن هستید می توانید با ما در تماس باشید
تصور کنید یک صبح کاری شلوغ است. کاربران از تهران تبریز مشهد و اصفهان همزمان وارد سایت شما می شوند.
همه چیز عالی پیش می رود تا این که ناگهان سایت کند می شود. بعضی درخواست ها timeout می شوند و تیم پشتیبانی
شروع به دریافت تماس های نگران کننده می کند. اینجاست که سوال اصلی مطرح می شود آیا زیرساخت شما برای این حجم
ترافیک آماده بوده است یا نه
من در این مقاله دقیقاً مثل یک مشاور فنی کنار شما می نشینم و تجربه بیش از دو دهه کار عملی در
شرکت برنامه نویسان دانش برتر سهند را با شما به اشتراک می گذارم. هدف فقط توضیح تئوری نیست.
می خواهیم بفهمیم مشکل کجاست چرا رخ می دهد و چطور با استفاده از asp.net core آن را به شکلی اصولی حل کنیم.
توزیع ترافیک چیست و چرا اهمیت دارد
توزیع ترافیک یعنی مدیریت هوشمند درخواست های کاربران بین چند سرور یا چند نمونه از یک برنامه.
به جای این که همه کاربران به یک سرور واحد متصل شوند بار کاری بین چند منبع تقسیم می شود.
در پروژه های asp.net core این موضوع اهمیت دوچندان دارد چون این فریم ورک اغلب برای سیستم های
سازمانی فروشگاه های بزرگ و سامانه های پرترافیک استفاده می شود.
افزایش سرعت پاسخ دهی به کاربران
کاهش احتمال down شدن کل سیستم
امکان رشد تدریجی بدون بازنویسی کل پروژه
تجربه کاربری بهتر برای مخاطبان در شهرهای مختلف ایران
مشکل واقعی کسب و کارها در ایران
بسیاری از کسب و کارهای ایرانی مخصوصا در تهران و تبریز پروژه asp.net core خود را به صورت
تک سروره راه اندازی می کنند. در ابتدا همه چیز خوب است اما با رشد ترافیک مشکلات زیر ظاهر می شود
کندی شدید در ساعات اوج مصرف
قطعی کامل سایت هنگام بروزرسانی یا ریست سرور
ناتوانی در پاسخگویی همزمان به درخواست های زیاد
افزایش نارضایتی کاربران و افت فروش
اینجا دقیقا جایی است که توزیع ترافیک از یک گزینه لوکس به یک ضرورت حیاتی تبدیل می شود.
معماری پایه توزیع ترافیک در ASP.NET Core
اجازه دهید خیلی ساده معماری پایه را توضیح بدهم. شما چند نمونه از برنامه asp.net core خود را اجرا می کنید.
جلوی آن ها یک لایه قرار می گیرد که به آن load balancer می گویند. این لایه درخواست کاربران را دریافت کرده
و بین سرورها پخش می کند.
اجزای اصلی این معماری
Client یا همان مرورگر کاربر
Load Balancer نرم افزاری یا سخت افزاری
چند Instance از برنامه asp.net core
دیتابیس مرکزی یا توزیع شده
نکته مهم این است که asp.net core ذاتا برای چنین معماری هایی طراحی شده و کاملا با آن سازگار است.
روش های توزیع ترافیک در پروژه های ASP.NET Core
استفاده از Load Balancer نرم افزاری
رایج ترین و مقرون به صرفه ترین روش برای شروع استفاده از load balancer نرم افزاری است.
در ایران معمولا از nginx یا haproxy استفاده می شود.
این روش برای بسیاری از پروژه های شرکتی که توسط شرکت برنامه نویسان دانش برتر سهند پیاده سازی شده
کاملا جواب داده و هزینه ها را کنترل کرده است.
استفاده از Reverse Proxy
reverse proxy علاوه بر توزیع بار می تواند وظایف امنیتی کش و فشرده سازی را هم انجام دهد.
این یعنی سرعت بالاتر و مصرف منابع کمتر.
مقیاس پذیری افقی در asp.net core
مقیاس پذیری افقی یعنی اضافه کردن سرورهای جدید به جای قوی تر کردن یک سرور.
asp.net core به شکل پیش فرض برای این نوع مقیاس پذیری بسیار مناسب است.
Session و State در محیط توزیع شده
یکی از چالش های مهم در توزیع ترافیک مدیریت session کاربران است.
اگر کاربر در یک درخواست به سرور اول و در درخواست بعدی به سرور دوم هدایت شود چه اتفاقی می افتد
راهکارهای عملی شامل موارد زیر است
استفاده از distributed cache مثل Redis
استفاده از دیتابیس برای نگهداری session
stateless کردن تا حد ممکن
در پروژه های سازمانی ویژه کسب و کارهای تبریز ما معمولا ترکیب redis و طراحی stateless را پیشنهاد می دهیم.
تاثیر توزیع ترافیک بر performance و SEO
سرعت سایت یکی از فاکتورهای مهم تجربه کاربری و سئو است.
وقتی توزیع ترافیک درست انجام شود زمان پاسخ کاهش پیدا می کند و این یعنی امتیاز بهتر نزد موتورهای جستجو.
اگر به مباحث سئو فنی علاقه دارید پیشنهاد می کنم مقاله زیر را هم ببینید
[suggest-article keyword="سئو فنی"]
اشتباهات رایج در پیاده سازی توزیع ترافیک
نادیده گرفتن session و state
وابستگی مستقیم سرورها به فایل سیستم محلی
عدم مانیتورینگ و لاگ مناسب
پیچیده کردن بیش از حد معماری در پروژه های کوچک
تجربه ما نشان داده که ساده شروع کردن و اصولی رشد دادن بهترین استراتژی است.
اگر مطمئن نیستید پروژه شما به توزیع ترافیک نیاز دارد یا نه
[call-action type="ticket"]
نقش شرکت برنامه نویسان دانش برتر سهند
ما با بیش از ۲۰ سال سابقه در طراحی و توسعه وب سایت های شرکتی سازمانی و ارگانی
پروژه های asp.net core را کاملا اختصاصی و بدون استفاده از cms پیاده سازی می کنیم.
تکنولوژی هایی که استفاده می کنیم شامل asp.net core vue.js mssql و node.js است
و تمرکز اصلی ما روی امنیت سرعت و مقیاس پذیری است.
زمان طراحی پروژه ها از یک ماه شروع می شود و هزینه ها از ۳۰ میلیون تومان بسته به پیچیدگی متغیر است.
نمونه سناریوی واقعی از یک پروژه پرترافیک
یکی از پروژه های ما برای یک شرکت بزرگ در تهران روزانه ده ها هزار درخواست همزمان داشت.
با پیاده سازی توزیع ترافیک و بهینه سازی معماری توانستیم
زمان پاسخ را بیش از ۴۰ درصد کاهش دهیم.
این تغییر مستقیما باعث افزایش رضایت کاربران و رشد فروش آنلاین شد.
ارتباط توزیع ترافیک با طراحی UI و UX
شاید در نگاه اول ارتباطی دیده نشود اما وقتی backend سریع و پایدار باشد
طراح ui و ux می تواند تجربه روان تری برای کاربر بسازد.
ما در پروژه های خود با استفاده از bootstrap 5 رابط هایی طراحی می کنیم
که حتی در شرایط ترافیک بالا هم حس سرعت و اعتماد را منتقل کند.
اگر قصد دارید زیرساخت سایت خود را برای رشد واقعی آماده کنید
[call-action type="ticket"]
پیشنهاد مطالعه بیشتر
[suggest-article keyword="طراحی سایت اختصاصی"]
پرسش های متداول
خیر حتی سایت های متوسط هم با رشد تدریجی به این نیاز می رسند
بله این فریم ورک ذاتا برای معماری های توزیع شده طراحی شده است
0 نظر
برای ثبت نظر لطفا کلیک کنید
لطفا برای ثبت نظر ابتدا وارد حساب کاربری خود شوید