فیلترینگ یک عملی است که از سوی مسئولان و سازمانهای(ISP) یک کشور به منظور جلوگیری از دسترسی کاربران به محتوایی که از سوی مسئولان تشخیص داده میشود که اینگونه محتوا نامناسب بوده و دارای تهدیداتی برای کاربران اینترنت میباشد انجام میشود.
متاسفانه در برخی کشورها از این ایده سوء استفاده شده و برای اهداف مختلفی مانند درآمدزایی، سانسور محتوا و... استفاده میگردد و همین معضل، مشکلاتی را در دنیای برنامه نویسان به وجود آورده و باعث وقفه در کارهایشان شده است. در ادامه با انواع این فیلترینگ ها و نحوه کارکردشان آشنا خواهیم شد.
بگذارید قبل از ورود به نحوه کارکرد یک اطلاعاتی درباره سانسور کشورهای مهم درمیان بگذارم. متاسفانه کشور ایران در لیست 5 کشوری قرار دارد که با فیلترینگ و سانسور محتوایی شدیدی روبرو هستند و 4 کشور دیگر چین، سوریه، ویتنام و بحرین شامل میشود. طبق گزارش خانه آزادی، که یک سازمان مستقل میباشد که آزادی دموکراسی و فکری را در دنیا بررسی میکند و طبق این گزارشات لیستی از کشورها را در جهت آزادی بیان، طبقه بندی میکند، در سال 2014، ایران را به عنوان بدترین کشور به عنوان آزادی اینترنت ارزیابی کرد و رتبه اول را به خود اختصاص داد.
فیلترینگ ایران، از سال 2004 آغاز شد و تا کنون گسترش پیدا کرده است و مشکلاتی را از قبیل فیلترشدن شبکههای اجتماعی که برای برنامهنویسان بسیار حائز اهمیت است، به وجود آورد.
بریم سر اصل مطلب؛ سانسورهای اینترنتی با روشهای مختلفی رخ میدهند:
سامانه نام دامنه(Domain Name System به اختصار DNS) یک پروتکلی میباشد وظیفه دارد نام دامنهای که برای ما قابل خواندن میباشد(مثل www.example.com) را تبدیل به اعدادی قابل فهم برای کامپیوتر کند که به آن IP Address گفته میشود. DNS مانند یک جادهای میباشد که مارا به مقصدمان میرساند.
دستکاری DNS، تکنیکی است که دسترسی که کاربران را به یک Ip آدرس خاص را مسدود میکند. فرض کنید دو شهر با یک ریل قطار به یکدیگر متصل شده اند. حال یک قسمت از این ریل را برداریم و این موجب اختلال در راه میشود و دیگر قابل رفت و آمد نیست به قول معروف مسیر مسدود شده است. دراینجا رابط ما، ISP ها هستند و وسیله ارتباطی ما، DNS میباشد. این تکنیک در بین هکرها بسیار محبوب میباشد و وقتی به رکوردهای DNS دسترسی پیدا میکنند، میتوانند تغییراتی ایجاد کنند که منجر به ایجاد ویروس یا جمعآوری اطلاعات میشود.
همانطور که در تصویر بالا مشخص هستش، وقتی نام دامنه از سوی کاربر درخواست میشه، این درخواست توسط ISPها مسدود شده و این درخواست بی پاسخ است.
پروکسی، ارتباط ما با اینترنت را برقرار میکند و اطلاعات را به ما برمیگردانند. پروکسی را دروازهای میان کاربران و صفحات وب و اینترنت دانست. در این روش، پروکسی ها فیلتر نمیشوند، بلکه پروکسی که از سوی ISPها به کاربران داده میشه، دسترسی کاربران را به اینترنت محدود میکنه و کاربران را مستلزم به استفاده از پروکسی میکند. کلیه درخواست ها به پروکسی فرستاده میشود و اگر این درخواست ها مسدود نشده باشند، اطلاعات را از اینترنت گرفته و برای کاربر ارسال میکند.
با تغییر آدرس پروکسی سرور در مرورگر خود میتوانید از این مانع گذر کنید. به این نکته توجه داشته باشید که پروکسی شما باید فضای کافی در فضای باندش را داشته باشد وگرنه به دلیل گذر از حد مجاز فضای باند، به دلایل امنیتی، پروکسی به حالت غیرقابل دسترسی تغییر خواهد کرد.
پورتها، درگاه هایی برای سرورها میباشند که از طریق آن سرویسهایشان را ارائه میدهند. وقتی یکی از پورتها بلاک میشود، تمامی سرویس هایی را که سرور از این پرت ارائه میکند، غیر قابل دسترس خواهد شد.
یکی از متداول ترین روش های فیلترینگ میباشد که معمولا برای تحریم کشور خاصی از این روش استفاده میشود. کاربر وقتی درخواستی را ارسال میکند، این درخواست به سمت وب سرور فرستاده میشود. قبل از اینکه پاسخی را به کاربر برگرداند، آدرس IP کاربر را بررسی میکند و اگر این IP متعلق به یک کشور خاصی باشد که مورد تحریم قرار گرفته باشد، از ارائه خدمات به کاربر خودداری میکند.
این تکنیک بسیار در کشور ما شناخته شده است و متداول ترین راه برای دورزدن آن، استفاده از فیلترشکن (Virtual Private Network یا به اختصار VPN) و تغییر پروکسی میباشد. امروزه استفاده از فیلترشکن ها برای بسیاری از شرکت ها درآمدزا شده و بهتر است از فیلترشکن های مطمئن و رایگان استفاده نمایید. برای دسترسی رایگان به پروکسی ها بسیار کار دشواری است و همچنین از سرعت بسیار پایین تری را نسبت به VPN ها برخوردار هستند و برای رفع این مشکل نیازمند یک پروکسی پریویت و شخصی میباشید که هزینه بالایی را برای کاربر رقم میزند.
چون اکثر ما برنامه نویسان عادت داریم از منابع و سایت های بین المللی مثل YouTube بهره ببریم، فیلترینگ به دنیای برنامه نویسی لطمه بزرگی وارد کرده است و این کار موجب کاهش کیفیت در کدهای برنامه نویسی و کمبود اطلاعات برای ایجاد پروژه های خلاقانه شده است. امیدوارم این مشکل خیلی زود حل شود و بتوانیم به راحتی با اینترنت ارتباط برقرار کنیم.