چند راهکار مفید برای بالاتر بردن امنیت وبسایت


 1395/10/23   2756

خلاصه توضیحات : روش های بسیار زیادی برای نفوذ به وبسایت های مختلف وجود دارد و هکر ها توسط یکی یا چند تا از این روش ها معمولا به وبسایت ها حمله میکنند, روش هایی مثل sql injection یا brute force در صفحات ورود به سایت و ... معمولا طراحان وبسایت خیلی به موضوع امنیت وب اهمیت نمیدن ! و پس از طراحی کامل سایت ...



روش های بسیار زیادی برای نفوذ به وبسایت های مختلف وجود داره و هکر ها توسط یکی یا چند تا از این روش ها معمولا به وبسایت ها حمله میکنند, روش هایی مثل sql injection یا brute force در صفحات ورود به سایت و ...
معمولا طراحان وبسایت خیلی به موضوع امنیت وب اهمیت نمیدن ! و پس از طراحی کامل سایت , دیگه بحث امنیت براشون یه بحث جدا به حساب میاد و هزینه دیگری برای مشتری می تراشند, در صورتی که با رعایت کردن چند نکته ریز میشه تقریبا بیشتر راه های نفوذ رو محدود کرد و به عبارتی هکر رو از کاری که میخواد انجام بده خسته کرد, میدونید که هر کاری کنید بالاخره کسی که بخواد یه راهی میتونه پیدا کنه ولی باید وقت بذاره, حالا ما چند نکته رو در زیر برای شما توضیح می دهیم که با رعایت آنها امنیت وبسایت خودتون رو بالاتر ببرید.



1-کد کردن و encrypt کردن مقادیر حساس مثل رمز عبور ها :

  قبل از هرچیز اطلاعاتی مانند (رمز عبور کاربران - رمز ورود به پنل مدیریت و از این قبیل موارد رو) حتما حتما ! encrypt کنید.
مثلا هنگامی که کاربری در سایت شما ثبت نام میکنه رمز یا پسووردی که در هنگام ثبت نام وارد می کنه مثلا hello@145 هستش , شما در دیتابیس نباید این عبارت رو به همین شکل ذخیره کنید باید این رو تبدیل به شکل دیگری کنید و سپس ذخیره کنید. که به این کار encrypt کردن می گن توابع مختلفی هستند در php که می تونند برای شما این عمل رو انجام بدن که بهترین آنها تابع md5 هستش.

 
echo md5('hello@145');
//output : 345bec305503bcb28fef6d2d396d6f69

با استفاده از تابع md5 رمز : hello@145 رو کد کردیم و به یک عبارت غیر قابل فهم و برگشت تبدیل کردیم 345bec305503bcb28fef6d2d396d6f69.

حالا در دیتابیس شما در جای مقدار پسوورد 345bec305503bcb28fef6d2d396d6f69 ذخیره شده و اگر کسی اطلاعات دیتابیس رو inject هم بکنه نمی فهمه رمز عبور چیه !

زمانی هم که کاربر خواست وارد سایت بشه مقداری password رو که گرفتین اول md5 کنید و سپس در query با مقدار password ذخیره شده در دیتا بیس ذخیره کنید.



2-استفاده از کپچا (کد امنیتی) های تصویری و یا نوشته های فارسی :

از کد های امنیتی تصویری و یا مثلا حروف فارسی استفاده کنید :
مثلا :
سه به اضافه ی چهار چند میشه ؟
4 منهای هشت میشه چند؟
یا ...

بهترین کپچا رو هم گوگل داره که با تازگی update جدیدی داده با عنوان i'm not robot که با استفاده از متد خودش تشخیص میده شما کاربر حقیقی هستید و ربات یا اسپمر نیستید.



3-محدود کردن تعداد دفعات ورود (در صفحه login) :

یکی از بهترین راه های جلوگیری از brute force کردن و یا اسپم کردن , که باعث میشه پهنای باند زیادی هم مصرف بشه به مرور زمان و اینکه بالاخره انقدر brute force میشه تا وارد سایت بشه.
بهترین راه اینه که اگر یک user بعد از مثلا 3 دفعه وارد سایت نشد ,  اون کاربر رو برای 4 ساعت بلاک کنید. (از طریق session)
چرا 3 دفعه : چون ممکنه کاربر رمز عبورش رو اشتباه بزنه چند بار !

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

 
session_start();
قبل از هرچیز باید این رو صدا زد

if(isset($_SESSION['login_block_time'])
{
	$now=time();
	$blocktime=$_SESSION['login_block_time'];
	if($now > $blocktime)
	{
		unset($_SESSION['login_block_time']);
	}
	else
	{
		die('شما نمی توانید وارد سایت بشوید !');
	}
}
if(isset($_SESSION['login_count']))
{
	$count=$_SESSION['login_count'];
	if($count > 2)
	{
		if(!isset($_SESSION['login_block_time']))
		{
			$_SESSION['login_block_time']=time() + 3600 * 4;
		}
		die('شما نمی توانید وارد سایت بشوید !');
	}
	else
		$count++;
}
else
{
	$_SESSION['login_count']=0;
}


 


اشتراک مطلب در :     |     |     |  

کلمات کلیدی : هک وبسایت ,محدود کردن IP ,هک کردن ,ip blocker ,بلاک کردن آی پی هکر ,چند راهکار مفید برای بالاتر بردن امنیت وبسایت ,

ارسال دیدگاه

  
اولین دیدگاه را وارد کنید