آموزش ساخت کپچا یا کد ضد روبات ساده

- visibility ۷ mode_comment

با سلامی دوباره خدمت سون لرنی های عزیز این بار با یک آموزش ساده از php اومدیم تا به همه ی شما یادآوری کنیم که چگونه یک فرم ساده ی php داشته باشیم که توش بتونیم از کدضدروبات استفاده کنیم.اما بهتر از هر چیز خوبه که یکم درباره ی کپچا برای دوستان تازه کار توضیح بدیم.کپچا در اصل یک فرم هست که به هر نحو می تونه دربرابر غیر انسان(روبات) واکنش نشون بده و اجازه ی ورود به سایت رو به اونها نده.کپچا می تونه هر شکل و نوعی رو به خود بگیره.متداول ترین نوع کپچا ها کدهای تصویری هستند.پس از آن عملیات های ساده ی ریاضی و در مراتب بعدی سوالات با پاسخ حروفی و بازی با اشکال که همه ی این ها یک کار خاص را انجام می دهند با این تفاوت که سرعت لود آنها متفاوت است.ما هم در این آموزش به ساخت ساده ترین و سریع ترین کپچا خواهیم پرداخت.پس با ما باشید...

برای این کار ابتدا نیازمند یک فرم هستیم که کپچا را در آن وارد کنند و سپس اگر درست بود به صفحه ی مقصد بروند و در غیر این صورت به صفحه ی دیگر بروند:

در کد بالا از یک فرم استفاده کردیم که از یک صفحه ی php دیگر با نام simple-php-captcha-formmail.php تغذیه می کنه.و در هر سشن دو عدد تصادفی یک رقمی تولید می کند که حاصل جمع دو عدد را از کاربر می خواهد.برای همین یک سند php دیگر در همان پوشه ایجاد می کنیم و نام آن را simple-php-captcha-formmail.php می نامیم و کدهای زیر را به آن اضافه می کنیم :

در این کد در خط 3 session جدیدی رو برای این عملیات شروع می کنیم سپس در خط 5 تعریف می کنیم که اگر داده ی وارد شده غیر قابل قبول(نه غیر صحیح) بود (مثلا حروفی) صفحه ای را که در خط 6 آدرس آن را وارد نموده ایم نشان دهد.

در خط دهم که تعریف کرده ایم که اگر کپچا غلط بود به صفحه ی دیگری که آدرس آنرا در خط 12 وارد نموده ایم برود.

در خط 16 هم تعریف کردیم که اگر کپچا درست بود باید کاربر به آدرس خط 18 منتقل شود.

که البته دراین مثال اگر پاسخ کاربر صحیح بود به صفحه ی اول انجمن سون لرن و در غیر این صورت به صفحه ی اول سون لرن خواهد رفت.

در نهایت امیدوارم آموزش مفیدی رو براتون قرار داده باشم.

comment دیدگاه کاربران
aref taker

سلام
ببخشید شما که به session مقدار ندادید , و فقط سیشن رو استارت زدید , پس این دوتا سیشن ( num1 , num2) کجا مقدار دهی شدن؟
با تشکر.

رضا نصرالهی

کد اول که فرم رو ساختیم رو یک بار دیگه نگاه کنید. 😛

nasrin

سلام چرا برای سیشن پیغام خطا میده که undefind variable session

سجاد دریس

ابتدا باید session_start() رو بنویسید

aref taker

ببخشید من php زیاد بلد نیستم واسم سوال پیش اومده , وقتی می خوایم یک سیشن تعریف کنیم حتما باید به اون مقدار بدیم؟

سجاد دریس

بله

مهدی خانزادی

سلام یه کپچا با امنیت خیلی بالا و سریع هست من استفاده میکنم توی لینک زیر میتونید ببینیدش خیلی خووووووبه.


صدا هم داره اگه کلیک کنید براتون کپچا رو میخونه! خیلی خفنه

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.