ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
پایین صفحه توی سورس کد هش نوشته شده. متغیر hash توی سورس کد قرار گرفته.
14-07-1394، 03:14 ب.ظ
(آخرین تغییر در ارسال: 14-07-1394، 03:15 ب.ظ توسط n0o0b_sina.)
ارسالها: 144
موضوعها: 13
تاریخ عضویت: اردیبهشت 1394
اعتبار:
1
تشکرها: 51
31 بار تشکر شده در 28 پست
آره الان دیدم، اونو چرا نوشته اونجا :|
ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
خوب انتظار داشتین JS از کجا بفهمه تو PHP چه خبره؟!
ارسالها: 144
موضوعها: 13
تاریخ عضویت: اردیبهشت 1394
اعتبار:
1
تشکرها: 51
31 بار تشکر شده در 28 پست
ایجکس :|
میتونست تو سورس نزاره و فقط توی یه متغیر بزاره و مقدار هش بره تو رم
ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
خوب اگه قرار بود با AJAX باشه دیگه همون enableAjaxValidation رو میگذاشتیم که اصلاً این بحثها منتفی بشه. صحبتمون سر Client Side Validation هست.
ارسالها: 144
موضوعها: 13
تاریخ عضویت: اردیبهشت 1394
اعتبار:
1
تشکرها: 51
31 بار تشکر شده در 28 پست
نه، متوجه نشدید انگار
من منظورم ولید کردن ایجکس نیست، شما عکس رو رفرش کنید، هش کد تغییر میکنه، ولی شما نمیتونید هشه جدید رو ببینید.
YII برای قسمت لود کپتچا برای بار اول از ایجکس استفاده نکرده برای همین هش کد رو گذاشته توی سورس
ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
خوب موضوع اینه که وقتی شما با cURL و سایر روشها سورس رو میخونید، اصلاً نمیتونید کلیک کنید روی دکمه بازسازی تصویر و تولید رمز جدید تا با AJAX تولید بشه و هر درخواست شما معادل یکبار Refresh کردن صفحه است و تا وقتی که رمز قبلی رو حدس نزدین (3 بار اشتباه) در این حالت رمز جدیدی تولید نخواهد شد. درصورتی که 3 بار رمز رو اشتباه حدس بزنید، رمز جدید تولید میشه که میتونید این رو تنظیم کنید.
ارسالها: 62
موضوعها: 2
تاریخ عضویت: اردیبهشت 1394
اعتبار:
0
تشکرها: 5
31 بار تشکر شده در 26 پست
خب یه سوال؟
شما الان اینو validate میکنی بعد چیکار؟ این به چه دردی میخوره؟
شما حتما باید سمت سرور validate انجام بدی!
حالا مشکل روش تو اینه که سمت سرور اعتبار سنجی نمیشه! و اگر هم بخوای انجام بدی باید مقدار کدکپچا رو بفرستی سرور. حالا میخوای چیکار کنی؟ مقدار وارد شده و مقدار کپچای صحیح رو میخوای بفرستی سرور؟؟؟ خب در اینصورت موقع ارسال مقدار کپچا رو میخونیم و همون مقدار صحیح رو جایگزین مقدار اشتباهی که کردیم میکنیم و تمام!
پس نباید مقدار کپچای صحیح فرستاده بشه پس در عمل کپچای شما بی استفاده است! چرا؟
چون سمت سرور اصلا اعتبار سنجی وجود نداره! پس من یا کپچا رو وارد نمیکنم و یا چیز الکی میزنم!
لطفا به روند کارت از صفر تا صد فکر کن و اگر من اشتباهی کردم بگو.
حالا فرض کنیم شما یه کاری کردی که حتما باید سمت کاربر اعتبار سنجی انجام بشه!
ما به راحتی میتونیم کد js به صفحه تزریق کنیم و اجراش کنیم و کد تورو خنثی کنیم.
14-07-1394، 07:10 ب.ظ
(آخرین تغییر در ارسال: 14-07-1394، 07:12 ب.ظ توسط n0o0b_sina.)
ارسالها: 144
موضوعها: 13
تاریخ عضویت: اردیبهشت 1394
اعتبار:
1
تشکرها: 51
31 بار تشکر شده در 28 پست
والاه من نمیدونم اسپمر هم میتونه js تزریق کنه یا نه، هدف از اینم جلوگیری از اسپمه نه اطمینان از صحت اطلاعات
ولی این کد اگه js غیر فعال بشه کار نمیکنه. و با فعال بودن js سخت کسی بتونه از این بگذره