نصب آسان کپچا فارسی در وردپرس و PHP
بهتر است ابتدا پاسخی برای دلیل به وجود آمدن کپچا پیدا کنیم، سپس به سوال کپچا چیست بپردازیم. دلیل اصلی به وجود آمدن آزمون کپچا، تشخیص انسان از رباتهاست. از آنجایی که هر روز تعدادی زیادی از وبسایتها هدف حمله هکرها یا رباتهای مخرب قرار میگیرند، استفاده از سرویسهای کپچا برای هر وبسایتی ضروری است.
پیدایش کپچا
شرکت یاهو در دهه ۲۰۰۰ در چت کاربرانش دچار مشکلی شد. تعدادی ربات وارد چت شده، با کاربران چت میکردند و اطلاعات شخصی آنها را میگرفتند. همچنین تعداد زیادی حساب ایمیل تقلبی میساختند و سرویسهای رایگان یاهو مثل فضای ذخیره سازی را مختل میکردند.
یاهو با همکاری یک تیم تحقیقاتی از دانشگاه کارنگی ملون یک سرویسی را پیاده سازی کردند. این سرویس یک متن درهم ریخته بود که تشخیص آن برای انسانها ساده، ولی برای رباتها سخت بود. البته به مرور زمان این سرویس کپچا پیشرفت کرد و به شکل کپچاهای امروزی درآمد.
استفاده از کپچا
بخشهای مختلفی از وبسایتها که آسیبپذیرتر هستند، نیاز به فعالسازی سرویس کپچا دارند. مهمترین بخشها عبارتند از:
- فرم ورود و یا ثبتنام کاربران
فرم ورود کاربران در برابر حملات هکرها و رباتهای مخرب، بسیار آسیبپذیر هستند. زیرا هکرها به کمک حملات brute force و یا credential stuffing، میتوانند به اطلاعات کاربران مثل نام کاربری و رمز عبور آنها را دسترسی پیدا کنند.
در صورتی که فرم ثبتنام کاربران امنیت لازم را نداشته باشد، ساختن حسابهای کاربری تقلبی به راحتی صورت انجام میشود. حتی در صورتی که تائید پیامکی و یا ایمیلی نیز فعال باشد.
با فعال کردن تائید پیامکی و یا ایمیلی یک آسیب پذیری دیگری به کسب و کار شما اضافه خواهد شد. به این صورت که رباتها از جانب شما به هزاران کاربر ایمیل تائیدیه ارسال میکنند و علاوه بر زیان مالی، موجب اسپم شدن سرویس ایمیل کسب و کار شما نیز میشوند.
- فرم ارسال نظرات کاربران (کامنتها)
یکی از بخشهایی که کپچا میتواند به صاحبان وبسایتها کمک کند، بخش کامنتها است. همانطور که میدانید این بخش خیلی حائز اهمیت است، زیرا حاوی نظرات مثبت و منفی، پیشنهادات و انتقادات کاربران یک کسب و کار است. بسیاری از کسب و کارها مدام مجبور هستند که کامنتها را بررسی کنند تا حاوی نظرات تقلبی و اسپم نباشد. در صورتی که فعال کردن کپچا در این بخش، این کار را برای شما انجام میدهد.
- تمامی فرمهای اینترنتی!
رباتهای مخرب میتوانند به هر کدام از فرمهای اینترنتی حمله کنند. تفاوتی ندارد که این فرمها حاوی چه اطلاعاتی هستند. زیرا هر نوع حملهای میتواند علاوه بر بالا بردن ترافیک سرورهای وبسایتها و به سرقت رفتن اطلاعات کاربران، هزینههای مالی برای کسب و کارها داشته باشد و یا به اعتبار برند و سرویسها خدشه وارد کند.
فعالسازی آرکپچا
همه روزه تعداد زیادی از وبسایتها با زبان PHP، فریمورک Laravel و یا wordpress پیاده سازی میشوند. و کپچا یکی از موثرترین راهها برای حفظ امنیت وبسایتها و جلوگیری از حملات باتها و آسیبهای آنهاست، تو این مقاله قرار است نحوه نصب و فعالسازی آرکپچا را برایتان توضیح دهیم.
نصب افزونه کپچا وردپرس
افزونه وردپرس آرکپچا یک کپچا ایرانی است که نه تنها به راحتی نصب و فعال میشود بلکه خدمات کنترلی، سفارشی سازی و پشتیبانی قوی نیز دارد.
برای نصب افزونه کپچا وردپرس باید مراحل زیر را به ترتیب انجام دهید:
- وارد سایت آرکپچا شوید (ir)، ثبت نام کنید و بعد از وارد کردن اطلاعات وبسایت خود، site key و secret key را در جایی ذخیره کنید.
- وارد پنل ادمین وردپرس شوید و در بخش افزونهها، روی گزینهی افزودن کلیک کرده و در باکس جستجو، عبارت آرکپچا یا arcaptcha جستجو کنید.
- پلاگین وردپرس آرکپچا را نصب کنید. سپس از منو سمت راست، وارد بخش تنظیمات آرکپچا شوید، site key و secret key که ذخیره کرده بودید را در باکس مشخص شده وارد کنید.
- سپس تمام بخشهایی از وبسایت کسب و کارتان که تمایل دارید سرویس کپچا در آن فعال شود، تیک بزنید. و تنظیمات را ذخیره کنید.
به همین سادگی نصب افزونه کپچا وردپرس در وبسایت شما انجام شد.
همچنین شما میتوانید به حساب کاربریتان در سایت آرکپچا وارد شوید و درجه سختی چالشها را تنظیم کنید. و از آمارها و خدمات دیگری که آرکپچا در اختیارتان قرار میدهد، در جهت بهبود کسب و کارتان بهره ببرید.
کپچا در PHP و Laravel
پیاچپی و لاراول از مطرحترین زبانها و فریمورکهای مورد استفاده در توسعه وبسایتهای اینترنتی هستند. با در نظر گرفتن دلایلی که پیشتر گفته شد و همچنین حرفهای تر شدن باتها در تقلید رفتار انسانها، کپچا یک سرویس ضروری برای افزایش امنیت فرمها و صفحات وبسایتها است. در این بخش، آموزش نصب و استفاده از کپچا در php و لاراول را به شما توضیح میدهیم.
به طور کلی استفاده از کپچا شامل دو مرحله است:
- در مرحله اول ویجت کپچا (کد اسکریپت) را باید در فرم مورد نظر (در کد HTML سمت کاربر) قرار دهید.
- در مرحله دوم باید در کد پردازش یا action مورد نظر آن فرم، آپدیتی انجام بدهید تا قبل از انجام پردازش (مثل ورود یا ثبتنام)، از صحیح حل شدن کپچا مطمئن شوید ( تا مطمئن شوید این درخواست از طرف ربات نیست!)
استفاده از کپچا در لاراول (Laravel)
برای استفاده از کپچا در لاراول، سه مرحله لازم است:
- اول پکیج را نصب کنید.
- در مرحله دو و سه مشابه توضیحی که در مقدمه داده شد، کافیه ویجت را به فرم اضافه کنید.
- پاسخ به کپچا را سمت سرور خود چک کنید.
پکیج لاراول کپچا را با دستور زیر نصب کنید:
composer require mohammadv184/arcaptcha-laravel
تنظیمات کتابخانه لاراول کپچا را مشابه مستندات انجام دهید و اطلاعات کلیدهای اختصاصی خود را وارد کنید (اطلاعات کلیدهای اختصاصی را پس از ثبتنام در وبسایت آرکپچا به دست میاورید).
حالا ویجت کپچا را در فرم سمت کاربر قرار دهید و پس از آن، پاسخ کاربر را در سمت سرور با استفاده از توکن arcaptcha-token و API مربوط به verify آرکپچا، تایید کنید.
استفاده از کپچا در PHP
برای استفاده از کپچا در php کتابخانهای وجود دارد. در صورتی که composer دارید، کار کمی سادهتر است اما با توجه به اینکه عموما composer در php ندارند در این آموزش حالت بدون کامپوزر را توضیح میدهیم.
به صفحه گیتهاب آرکپچا بروید و در مخزن مربوط به مثال برای php، کد کلاس ArCaptcha.php را دانلود کنید. سپس در جایی که فرم مربوطه ساخته میشود، این کلاس را require کنید و یک نمونه از کلاس را با اطلاعات site key و secret key خود بسازید.
بعد از ساختن شی، با استفاده از توابع getScript و getWidget کد Javascript و HTML را در صفحه موردنظر ایجاد کنید.
در مرحله دوم، جواب کاربر با کلیک روی دکمه مورد نظر، در درخواست POST برای سرور شما میفرستد، arcaptcha-token یکی از فیلدهای همراه فرم است. توکن را بخوانید و درخواست تایید توکن را برای آرکپچا بفرستید، تا از صحت آن مطمئن شوید. برای انجام اینکار میتوانید از کلاسی که در مرحله قبل ساختیم، استفاده کنید. به این منظور میتوانید تابع verify را با ورودی arcaptcha-token فراخوانی کنید.
برای مستندات بیشتر، نمونه کد و توضیحات تکمیلی به مقاله آموزش نصب کپچا در PHP و لاراول مراجعه کنید.