PDA

View Full Version : سوال: دکمه برای refresh کردن کد کپچا



sooren_66
شنبه 24 اسفند 1392, 14:38 عصر
سلام دوستان
من یه برنامه نوشتم که با هر بار رفرش کردن سایت کد کپچای 8 رقمی که فقط شامل عدد و با این دستور نوشتم عوض میشه.

$captchaText = mt_rand(10000000, 99999999);
می خوام یک لیبل یایک دکمه قرار بدم که با هر بار زدن اون کلید کد من رفرش بشه.لطفا" راهنماییم کنید.اگه کدش رو میتونید بزارید دریغ نکنید.
ممنون:لبخندساده:

beh3000
شنبه 24 اسفند 1392, 19:04 عصر
سلام

کد کپچات هر چی هست میذاریش توی یک فایل مثلا captcha.php که در خروجی یدونه عکس که همون کپچا باشه بهت نشون میده .. خب حالا آخر فرمی که میخوای این کپچا رو نشون بدی کد زیر رو قرار میدی



<img id="imgcap" src="captcha.php"/>


حالا میخوای دکمه بذاری برای رفرش کردن :
اول تابع جاوا اسکریپت باید بنویسی


function loadcap()
{
document.getElementById("imgcap").src="captcha.php?r="+ Math.random();
}


حالا این کد چیکار میکنه : این کد میاد صفت src اون تصویر کپچا رو تغییر میده در واقع ما همون فایل کپچا رو فراخوانی میکنیم و یه عدد تصادفی به آخرش اضافه میکنیم که مسیرش با مسیر قبلیش فرق بکنه و مرورگر دوباره اون فایل رو بخونه
مسیر اولیه imgcap چی بود : Captcha.php بعد از یکبار زدن رفرش مثلا این میشه captcha.php?r=123 بعد مرورگر فایل کپچا رو دوباره لود میکنه

البته بعد نوشتن اینها روی onclick دکمه رفرش تابع جاوا اسکریپت رو باید فراخوانی کنی

sooren_66
شنبه 24 اسفند 1392, 19:32 عصر
من نمی خوام خروجی به عنوان عکس به کاربر نشون بده خروجی کد کپچا به صورت
$captchaText = mt_rand(10000000, 99999999)
echo $captchaText;
نشون داده بشه من یک کلید واسه refresh گذاشتم ولی هر بار کل صفحه رو refresh میکنه وقتی این کلید رو می زنم.میخواستم فقط کدکپچا refresh بشه میدونم کار با ایجکس و جی کوئری انجام میشه ولی یادگرفتنش زمان بره کمک فوری می خوام.

beh3000
شنبه 24 اسفند 1392, 20:01 عصر
دوست عزیز کپچا رو بصورت تکست نشون نمیدن با نرم افزار راحت میشه خوندش که ؟؟؟ پس اصلا چرا داری کپچا میذاری ؟

beh3000
شنبه 24 اسفند 1392, 20:17 عصر
حالا همینی که میخوای رو میذارم میل خودته این کد رو بذار داخل captcha.php



$captchaText = mt_rand(10000000, 99999999);echo $captchaText;

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



<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script><head><title>captcha</title></head><script>function loadcap(){ $.ajax({ url:'captcha.php', success: function(data) { $("#divid").html(data); } });}</script><body><div style="cursor:pointer;" onclick="loadcap();">refresh</div><div class="header" id="divid"><script>loadcap();</script></div></body>

sooren_66
شنبه 24 اسفند 1392, 20:57 عصر
یعنی اگه تکست هم باشه باید به صورت ایمیج نشون بدم؟من این رو به سفارش یه دوست می نویسم واون عدد 8 رقمی رو به صورت کپچا خواسته.

sooren_66
شنبه 24 اسفند 1392, 21:00 عصر
اون قسمتی که از تکست استفاده کردم به این صورت hidden هست
<th>Security Code </th>
<td><p class="captcha" ><?php echo $captchaText;
?></p>
<input type="text" name="user_captcha" />
<input type="hidden" value="<?php echo $captchaText; ?>" name="captcha" />

hamedarian2009
شنبه 24 اسفند 1392, 21:47 عصر
دوست عزیز کپچا رو بصورت تکست نشون نمیدن با نرم افزار راحت میشه خوندش که ؟؟؟ پس اصلا چرا داری کپچا میذاری ؟
البته باید عنوان کنم الان حتی میشه اون تصاویر کج و معوج رو هم بخونی
هوش مصنوعی پیشرفت خوبی کرده و شرکت vicarious ادعا میکنه که تمام کدهای کپچا رو میخونه
اینم منبعش:
http://www.kurzweilai.net/vicarious-ai-breaks-captcha-turing-test

beh3000
یک شنبه 25 اسفند 1392, 08:44 صبح
یعنی اگه تکست هم باشه باید به صورت ایمیج نشون بدم؟من این رو به سفارش یه دوست می نویسم واون عدد 8 رقمی رو به صورت کپچا خواسته.

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

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