مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

ایجاد کد یکبار مصرف در هر فرم و مطابقت با صحت کد در سمت سرور PHP و ثبت فرم در صورت صحیح بودن کد

پنج شنبه, 02 خرداد 1398 20:17

ایجاد کد یکبار مصرف در هر فرم و مطابقت با صحت کد در سمت سرور PHP و ثبت فرم در صورت صحیح بودن کد

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

بطور معمول اون چیزی که نیاز دارم رو دیگران به این شکل انجام دادند که یک کد رندوم ایجاد میکنند و بصورت Session ذخیره میکنند و در فیلد فرم هم اون رو قرار میدهند و در سمت سرور مقدار ارسالی در فیلد مخفی رو با Session مطابقت میدن و اگر درست بود یعنی اوکی هست
حالا مشکل خیلی خیلی بزرگ این کار این هست که اگر کاربر صفحه حاوی فرم را در دو تب در مرورگرش باز کنه، مقدار Session عوض میشه و عملاً اون تب اول دیگه فرمش از کار می افته من نمیخوام این مشکل بوجود بیاد و میخواهم کاری کنم که کاربر اگر در 10 تب مختلف در مرورگر خودش 10 بار صفحه رو هم باز کرد در هر 10 صفحه فرم بدرستی ارسال و ثبت بشه و مشکلی پیش نیاد برای کاربر
لطفاً من رو راهنمایی کنید که چطور باید این کار رو بدون استفاده از Session انجام بدم؟

شنبه, 04 خرداد 1398 09:10

با سلام

فکر کنم اگه مقدار session رو ثابت بگیری این مشکل حل بشه .

با تنظیم کوکی و session همزمان با یک نام و چک کردن مقدار یکی بودن فکر میکنم حل بشه با دستور if انجام بده

RF فرکشنال
لیزر موهای زائد اصفهان

شنبه, 04 خرداد 1398 09:59

یکی از راه هاش همون Hidden fild

راه دوم view state میشه

راه سوم کوکی هم میتونی 

 راه چهارم اینه یه متغییر در نظر بگیری و بریزی تو اون اینجوری برای هر صفحه یدونه میسازه و با رفرش هم دوباره مقدار دهی میشه

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید