روش های جلوگیری از وب اسکرپینگ

پرسیده شده
فعالیت 1347 روز پیش
دیده شده 601 بار
8

سلام به همه دوستان.

همونطور که از مطالب بیان شده توی این کورس متوجه شدید اسکرپینگ میتونه توانایی زیادی به سایرین بده که به مطالب سایت شما دسترسی داشته باشن یا حتی کارهای خرابکارانه (مثل همون Brute Force اتک که استاد گفت یا تست مداوم یوزر و پسوردهای مختلف برای لاگین در سایت شما و ...) بکنن.

تو بررسی هایی که در سطح وب کردم به چند روش برای جلوگیری ازین کار رسیدم که میتونه فرآیند اسکرپینگ رو پیچیده تر بکنه (نه اینکه غیر ممکنش بکنه - کسیکه بخواد یکاری بکنه بالاخره اونکارو میکنه :دی) و اونها رو با شما به اشتراک میذارم:

 

1- استفاده از کلاس ها و آی دی های داینامیک برای المان های Html (مشابه کاری که اینستاگرام میکنه):

اینکار با استفاده از php بصورت زیر میتونه پیاده سازی بشه:

// php code
   <?php
     // dynamic class
     $classes = array('class1','class2','class3','class4'); 
     $class_name = $classes[array_rand($classes)];

     // dynamic tags
     $tags_statr = array('','<div>','<div><div>','<div><p>','<span><div>');
     $tags_end = array('','</div>','</div></div>','</div></p>','</span></div>');
     $numb = array_rand($tags_statr);
   ?>


// html code
     <?php echo $tags_statr[$numb]; ?>
     <div class="<? php echo $class_name; ?>">anything</div>
     <?php echo $tags_end[$numb]; ?>


// css code
   <style>
     .<? php echo $class_name; ?> {
      // your css codes
     }
   </style>

طبق این روش شما یک لیستی از نام کلاس ها رو در php تعریف می کنید و هربار که صفحه Html تون ساخته میشه بطور رندوم یکی از تگ های اون لیست رو انتخاب می کنید. در ادامه فایل هم روی تگ انتخاب شده استایل دهی رو انجام میدید.

این روش یک محدودیت داره و اونم اینه که باید حتما در فایل های php استایل دهی رو انجام بدید چون توی فایل های css امکان استفاده از php وجود نداره.

 

2-محدودیت کاربران رو بالا ببرید

مثلا مطالب مهم و حیاتی سایتتون رو فقط در اختیار افرادی که ثبت نام کردن و لاگین کردن قرار بدید. اینجوری میتونید تعداد ریکوئست ها و فعالیت هاشون رو مرتب مانیتور کنید تا جلوی حرکات مشکوکشون رو راحت بتونید بگیرید.

 

3-آی پی های استفاده کننده از وبسایتتون رو مانیتور کنید و تعداد فعالیت روزانه مجاز هر آی پی رو محدود کنید.

این روش هم مثل روش دوم باعث میشه هر آی پی نتونه فعالیت خیلی زیاد و خارج از عرفی رو در طول روز توی سایت شما انجام بده.

 

4-برای جلوگیری از تلاش برای لاگین بیش از حد در وبسایتتون تعداد تلاش ها رو محدود کنید.

الان دیگه اکثر سایت ها به شما اجازه میدن حداکثر 3 بار برای لاگین تلاش کنید. بعدش معمولا از چند دقیقه تا چند ساعت اجازه لاگین رو به شما نمیدن و مجددا اگر بعدش دوباره تلاش های زیادی برای لاگین بکنید ممکنه آی پی شما یا حساب کاربریتون رو بلاک کنن. (نکته خیلی پیش پا افتاده ای بود ولی رعایتش لازمه)

 

در نهایت یادتون باشه که در دنیای برنامه نویسی برعکس دنیای واقعی که فرض بر صداقت و درستیه طرف مقابله، همیشه فرض رو بر این بگیرید که کاربرتون یه هکر جانی بالفطره س. :دی

فایل پیوست