یک صفحه با دو کد تصویری

foranyone

Well-Known Member
فرض کنید داخل یک صفحه از دو کد تصویری استفاده شده !

الان چطوری میشه تشخیص داد کدوم ماله کدوم فرمه ؟:shock:
 

foranyone

Well-Known Member
:green: حمید امروز ماست خوردی ؟

نه آجیل خوردم:lol:

یه بار دیگه توضیح میدم:wink:

دو تا فرم داریم !

یکی ورود به سایت

اون یکی یادآوری رمز

هر دو تای اینا یه عدد تصویری دارند که توسط یه فایل ایجاد شدند داخل این فایل هر وقت عددی تولید میشه

به عنوان یه سشن ذخیره میشه .

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

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

رو با کدوم سشن مقایسه کنم ؟ به فرض اگه سشن من آرایه ای باشه باید چیکار کنم که تشخیص بدم

کدوم سشن ماله کدوم فرم و کد تصویری هست .

نمی خوام طوری بشه که با زدن هر کدوم از اعداد بشه لاگین کرد ...:-?
 

Allahparast

Member
می تونی چک کنی اگه سشن وجود داره یه بار دیگه حلقه تکرار(منظورم همون کد رندوم هست) و سشن جدید ایجاد بشه
 

foranyone

Well-Known Member
می تونی چک کنی اگه سشن وجود داره یه بار دیگه حلقه تکرار(منظورم همون کد رندوم هست) و سشن جدید ایجاد بشه


نه الله یار این دو تا فرم داخل یه صفحه هستند !

کاربر فرض کنید میخواد لاگین کنه باید عدد زیر فرم لاگین رو وارد کنه و اگه خواست یادآوری رمز کنه

باید عدد زیر فرم یادآوری رمز رو بزنه !

من باید عددی رو که کاربر وارد کرده با کدو سشن چک کنم ؟ از کجا اینو بدونم :-?
 

Allahparast

Member
این کد example :
PHP:
    $fontSize = 5;
    $fontColor = "#575247";
    $bgColor = "FFFFFF";
    $lineColor = "B0B0B0";
if(isset( $_SESSION['security_number']){
    $secCode = "";
    for ( $i = 0; $i < 6; ++$i )
    {
        $secCode .= rand( 0, 9 );
    }
    $_SESSION['security_number'] = $secCode;
    createimage( $secCode, 81, 26, $fontSize );
}else{
    $secCode = "";
    for ( $i = 0; $i < 6; ++$i )
    {
        $secCode .= rand( 0, 9 );
    }
    $_SESSION['security_number2'] = $secCode;
    createimage( $secCode, 81, 26, $fontSize );
}
این کد وقتی تو ایمج اول لود میشه اول سشن چک می شه که وجود نداره یا نه ایجاد میشه تو تصویر دومی سشن اولی چک میشه که وجود داره تصویر دومی ایجاد میشه
ولی یه مشکل داره صفحه پس از رفرش شدن دیگه کد اول رو نمیسازه :green:
که باید از تو لاگین یا یادآوری پس از ارسال پست پاکشون کنی
 

foranyone

Well-Known Member
یعنی میگی تو دو تا سشن ذخیره کنم ؟

:-?

اینجوری همیشه باید حواسم باشه که سشن یک مثلا همیشه ماله لاگین و سشن دو همشه ماله دومی :-؟؟

اینم راه حلیه !
 

mosi20

Active Member
نه بابا یه راه خیلی راحت تر هست.
سشنت را چک کن اگه هست همونا استفاده کن.
وقتی هم که فرمت ارسال میشه و کپچا را چک میکنی اگه درست بود سریع سشن را ازبین ببر.
===
من این کار میکنم.
نمونش هم اینجا کار کردم http://beautycenter.ir/
 

foranyone

Well-Known Member
نه بابا یه راه خیلی راحت تر هست.
سشنت را چک کن اگه هست همونا استفاده کن.
وقتی هم که فرمت ارسال میشه و کپچا را چک میکنی اگه درست بود سریع سشن را ازبین ببر.
===
من این کار میکنم.
نمونش هم اینجا کار کردم http://beautycenter.ir/

محسن جان تو اون صفحه که فرستاده بودی هر دو تا تصویر یه عبارت بودن !

اگه دو عدد فرق کنه چیکار باید کرد ؟
 

Masoud1365

مدیر انجمن
شما کد کپچا رو توی دوتا سشن ذخیره کن مثلا سشن one و سشن two حالا هر کدوم از فرم هات هم یه submit با یه اسمی داره . بیا چک کن که اگر submit اولی مقدار داشت معلومه فرم اولی پر شده و مثلا سشن اولی باید چک بشه اگر نه که فرم دومی رو چک کن اگر مقدار داشت فرم دومی پر شده else هیچ کدوم پر نشده ! :wink:

موفق باشید.
 

mosi20

Active Member
محسن جان تو اون صفحه که فرستاده بودی هر دو تا تصویر یه عبارت بودن !

اگه دو عدد فرق کنه چیکار باید کرد ؟

خوب من که گفتن.
از اول ما فقط ۱ کد تولید میکنیم.
پس هر تعداد کپچایی که توی صفحت میزاری یک کد سشن دارند و یک کد را نشون میدند.
====
یک راه دیگه هم داره که قبلا استفاده میکردم.
اول یک عدد تولید میکنی و میریزیش توی یک تیبل از دیتابیست.
id رکورد ایجاد شده را داخل یک اینتوت باکس هیدن قرار میدی.
HTML:
<input type="hidden" name="securty_code_id" value="ID RECORE" />
id رکوردی که ایجاد شده را برای صفحه ای که کپچا میسازه میفرستی.
HTML:
<img src="securty_code.php?id=ID RECORD" />
حالا وصل میشی به دیتابیس و کدی باید براش کپچا تولید کنی را پیدا میکنی و میسازیش.

برای چک کردنش هم از اینپوت باکس هیدن id رکورد را پیدا میکنی و وصل میشی به دیتابیس و کد را پیدا میکنی و با کدی که کاربر وارد کرده مقایسه میکنی.
اگه درست بود رکورد داخل دیتابیس را پاک میکنی.

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

foranyone

Well-Known Member
محسن روش دومت هم برام تازگی داشت ولی یه ایراد بزرگ که داره اینه که لایه دیتابیس رو به interface وابسته میکنه

فقط از این لحاظ ایراد داره :wink:

من داخل خود فایل تصویر عدد تصادفی رو تولید میکنم فکر میکنم باید عدد رو خارج از اون تولید کنم تا بتونم تو یک صفحه

همه ی تصاویر تصادفیم یکسان باشن!

این صفحه رو نگاه کنید :

http://phpnuke.ir/modules.php?name=Your_Account&op=new_user

اینم دو تا کپچا داره ولی عدد هاش فرق میکنن!

باید رو راه حل مسعود هم فکر کنم هرچند یه سری محدودیت ایجاد میکنه:wink:
 

tarhebartar

Member
پارامتر بزارید آخر آدرس تصویر امنیتی اگر مثلا 2 بود دو تا سشن بسازه , اسم ها رو هم میشه اینجوری تنظیم کردش !
 

foranyone

Well-Known Member
نه بابا یه راه خیلی راحت تر هست.
سشنت را چک کن اگه هست همونا استفاده کن.
وقتی هم که فرمت ارسال میشه و کپچا را چک میکنی اگه درست بود سریع سشن را ازبین ببر.
===
من این کار میکنم.
نمونش هم اینجا کار کردم http://beautycenter.ir/


محسن از این روش استفاده کردم ولی تصویر کش میشه فروشگاهی که لینک داده بودی هم بررسی کردم

حتی اگه صفحه رفرش بشه عکست عوض نمیشه و این خیلی خطرناکه !!
 

جدیدترین ارسال ها

بالا