ارزدیجیتال
حراجی دامنه های ویژهمشاهده





پلتفرم رپورتاژ آگهی و بک لینک تسمینو
تبلیغات
تبلیغات
تبلیغات تبلیغات
تبلیغات ژاکت, مرجع خرید قالب و افزونه وردپرسی اورجینال

جلوگیری از حملات sql injection با کد htaccess

آموزش ها , مقالات,آموزش,ترفند , وردپرس

sql injection از آسیب پذیری بسیار خطر ناک و رایج است که منجر می شود نفوذگر با سو استفاده از آن به اطلاعات دیتابیس وب سایت دسترسی بگیرد که با این اتفاق تمامی اطلاعات مهم دردسترس هکر قرار خواهد گرفت، sqli در واقع از اشتباهات برنامه نویس ایجاد می شود که در ادامه می خواهیم به روش های جلوگیری از آن بپردازیم.

 

جلوگیری از حملات sql injection با کد htaccess

 

همانطور که گفته شد آسیب پذیری sql injection از اشتباه برنامه نویس به وجود می اید و در نتیجه باید برای حل ان از کدنوسی اقدام اولیه را انجام داد. در هنگام کد نویسی اگر یک ورودی از کاربر گرفته شود و آن با استفاده از یک متغیر برای مثال در تابع mysql_query قرار بگیرد ، که برای اجرای کوئری در دیتابیس است اینجا آسیب پذیری به وجود می اید یعنی کاربر می تواند ورودی خود را به کوئری دیگری تغیر دهد تا اطلاعات دیتابیس را استخراج کند.

 

چگونه می توان از باگ sql injection جلوگیری کرد ؟

بعد از گرفتن ورودی از کاربر باید کاراکتر های ورودی کاملا کنترل شوند تا در صورت وارد شدن کوئری های اضافه از سمت نفوذگر ان ها فیلتر و بی اثر شوند؛ برای این کار می توانید به صورت دستی یک تابع بنویسید که کاراکتر های ” / () + * ‘ فیلتر کند یا از int استفاده کنید تا به صورت کامل آسیب پذیری رفع یا پچ شود.

 

استفاده از فایروال

زمانی که اسیب پذیری وجود داشته باشد و از ان بی اطلاع باشید فایروال می تواند کمک شایانی برای جلوگیری از sql injection کند چرا که بین کلاینت و سرور قرار می گیرد و کاراکتر های وارد شده را فایروال قبل از رسیدن به سرور فیلتر میکند ، لازم به ذکر است که برخی از CDN ها هم این قابلیت را داند که می توانید برای اشنایی بیشتر با آن ها اموزش کلودفلر را مشاهده کنید.

 

جلوگیری از حملات sql injection با کد htaccess

 

جلوگیری از sql injection با htaccess

یکی دیگر از راه های جلوگیری از این باگ استفاده از فایل htaccess در سرور است که می توانید با استفاده از آن کد هایی را اضافه کنید که ورودی ها را کنترل کند برای شما کدی را در قرار داده ایم که می توانید از بخش زیر آن را دریافت کنید و به این فایل در دایرکتوری اصلی سرور اضافه کنید تا از حملات sql injection جلوگیری کنید.

# Enable rewrite engine
RewriteEngine On
# Block MySQL injections, RFI, base64, etc.
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http%3A%2F%2F [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC,OR]
RewriteCond %{QUERY_STRING} \=PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} [NC,OR]
RewriteCond %{QUERY_STRING} (\.\./|\.\.) [OR]
RewriteCond %{QUERY_STRING} ftp\: [NC,OR]
RewriteCond %{QUERY_STRING} http\: [NC,OR]
RewriteCond %{QUERY_STRING} https\: [NC,OR]
RewriteCond %{QUERY_STRING} \=\|w\| [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)/self/(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)cPath=http://(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*iframe.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^i]*i)+frame.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{QUERY_STRING} base64_(en|de)code[^(]*\([^)]*\) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>).* [NC,OR]
RewriteCond %{QUERY_STRING} (NULL|OUTFILE|LOAD_FILE) [OR]
RewriteCond %{QUERY_STRING} (\./|\../|\.../)+(motd|etc|bin) [NC,OR]
RewriteCond %{QUERY_STRING} (localhost|loopback|127\.0\.0\.1) [NC,OR]
RewriteCond %{QUERY_STRING} (<|>|'|%0A|%0D|%27|%3C|%3E|%00) [NC,OR]
RewriteCond %{QUERY_STRING} concat[^\(]*\( [NC,OR]
RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR]
RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR]
RewriteCond %{QUERY_STRING} (;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|drop|delete|update|cast|create|char|convert|alter|declare|order|script|set|md5|benchmark|encode) [NC,OR]

#PentestCore

موفق باشید.

این مقاله چقدر براتون مفید بود؟

از ۱ تا ۵ امتیاز بدید.

میانگین رتبه 5 / 5. تعداد رای : 2

تا حالا کسی رای نداده! اولین نفر شما باشید.

دانلود

هاست ارزان، لایت اسپید، سرور مجازی منطبق با اسکریپت های 20script کلیک کنید >

خرید ارز
مطلب مفیدی بود ؟
نویسنده : تیم محتوای 20اسکریپت 0 آموزش ها , مقالات,آموزش,ترفند , وردپرس
لینک کوتاه مطلب : https://www.20script.ir/?p=57390
کلمات کلیدی پست :
مطالب مرتبط
12,204نمایش کلمه کلیدی و تعداد نتایج در صفحه جستجو وردپرس تاریخ : 2015/08/6
7,772تغییر پورت SSH لینوکس برای امنیت بیشتر تاریخ : 2019/12/2
8,608آموزش تصویری تغییر دامنه سایت در گوگل وبمستر تاریخ : 2018/04/13
12,258آموزش برنامه نویسی PHP از سطح پایه تاریخ : 2016/11/1
9,040آموزش ساخت صفحه ابر برچسب ها در وردپرس تاریخ : 2018/06/2
8,491نحوه تغییر رنگ نوار آدرس مرورگرهای موبایل برای هماهنگی با رنگ وردپرس تاریخ : 2016/03/30
6,268پرداخت ناموفق در گوگل کروم و حل مشکل Session تاریخ : 2021/02/3
15,400آموزش قرار دادن تبلیغات بعد از پست اول در وردپرس تاریخ : 2013/10/20
9,689هشتمین شماره ماهنامه طراحی وب منتشر شد تاریخ : 2015/01/22
13,65212 ابزار حرفه ای و رایگان برای تست سرعت وب سایت تاریخ : 2017/07/3
12,241آموزش تغییر نویسنده مطالب در وردپرس تاریخ : 2016/10/19
9,037تغییر نحوه نمایش دیدگاه های مدیر در وردپرس تاریخ : 2016/04/5
برخی از قالب های وبلاگ - بیست اسکریپت
قالب عشق بین انگشت هاقالب عشق بین انگشت ها
قالب دخترونه و آرایشقالب دخترونه و آرایش
قالب زیبای ماشینقالب زیبای ماشین
قالب فانتزی و طنز چِشمقالب فانتزی و طنز چِشم
قالب دختر رویاییقالب دختر رویایی
قالب وبلاگ دکوراسیونقالب وبلاگ دکوراسیون
قالب وبلاگ کلبه و درختقالب وبلاگ کلبه و درخت
قالب دختر زیباقالب دختر زیبا
قالب پسرونه غمگینقالب پسرونه غمگین
قالب عاشقانه قلبقالب عاشقانه قلب
بیست اسکریپت
اسکریپت
profile
sourceforge
profile webmaster
profile check
checker list
checker
checker
upload file