ورود

نسخه کامل مشاهده نسخه کامل : وليديت كردن فرم با ajax



milad_66
05-09-2008, 15:33
سلام
تا چه حدي لازمه يه فرم با كمك ajax وليديت شه؟ آيا هميشه بايستي توي سرور سايد هم وليدت انجام شه يا نه؟ حتي اگه JS كاربر فعال باشه.

ali00h
05-09-2008, 18:45
یعنی چی تا چه حدی؟
برای شکیل کردن برنامه در سمت کلاینت و برای امنیت بیشتر در سمت سرور باید ولیدت انجام بشه
چه بهتر که هر دو سمت اینکار انجام بشه

milad_66
05-09-2008, 20:40
مثلا يه فرم ساده كه يوزرنيم و ايميل مي گيره رو در نظر بگيرين
ميايم توي كلاينت سايد اين دو فيلد رو وليديت مي كنيم. حالا وقتي همه چي ok باشه و كاربر فرم رو سابميت كنه بازم بايد توي سرور سايد فرم وليديت شه؟

ali00h
05-09-2008, 21:11
ببین ایجکس چیه اصلا
غیر اینه که تو بجای اینکه مستقیم یه چیزیو به صفحه دیگه پست کنی ، جاوااسکریپت میاد اینکارو برا تو میکنه
خوب یه هکر اماتورم میتونه جای کلاینت تو ، دیتاهارو به اون صفحه پست کنه و هر چیزیم میتونه پست کنه!!! که تو باید اونارو تحت سرور ولیدیت کنی

milad_66
05-09-2008, 22:22
انگار منظورم رو بد تحويل دادم
بدون ajax كاربر فرم رو پر مي كنه و دكمه سابميت رو ميزنه بعد صفحه كه توش فرم بوده ميره به صفحه اي كه توي action تگ فرم تعيين كدريم و توي اون صفحه فيلد هاي فرم وليدت ميشه.
حالا با ajax مثلا با ايونت onblur به كمك JS درسته وليدت رو با سرور سايد انجام ميديم ولي آيا با وجود اين وليديت ها باز هم بعد از زدن دكمه سابميت توسط كار بايستي دوباره فرم وليديت شه؟

ali00h
05-09-2008, 23:07
نه منظورتونو گرفتم
جوابشم همونه که گفتم
شما یکم مطالعه بیشتر درباره ایجکس بکنی میگیری من چی میگم
توی ایجکسم همین get و post و Action وجود داره که معمولا صفحه تعیین شده برای action همون صفحه فرم هست
جواب سوالتونم همونه که گفتم اگه میخواین ولیدیتتون امنیت لازمو داشته باشه باید سمت سرور هم ولیدیت کنین


ولي آيا با وجود اين وليديت ها باز هم بعد از زدن دكمه سابميت توسط كار بايستي دوباره فرم وليديت شه؟

شما نهایتن باید اینارو ولیدیت کنین چون هکر میتونه هر چیو خواست در آخر بفرسته برای سرور(لزومی براش نداره که توی اون فیلدهایی که گذاشتی بنویسه)

milad_66
06-09-2008, 16:21
جواب سوالتونم همونه که گفتم اگه میخواین ولیدیتتون امنیت لازمو داشته باشه باید سمت سرور هم ولیدیت کنین

شما نهایتن باید اینارو ولیدیت کنین چون هکر میتونه هر چیو خواست در آخر بفرسته برای سرور(لزومی براش نداره که توی اون فیلدهایی که گذاشتی بنویسه)
خوب با اين حساب وليديت به كمك AJAX چه كمكي مي كنه؟

ali00h
06-09-2008, 16:50
من نمیفهمم ولیدیت از طریق ایجکس یعنی چی

ببینین ما میخوایم یه فرم ایجکس درست کنیم حالا چند حالت برا ولیدیت وجود داره
1- همرو بزاریم وقتی دکمه نهایی زده شد بره سرور ولیدیت بشه، اگه اشکال داشت به کاربر بگه
2-هر فیلدی که پر شد به قول خودتون با اینویت onblur دیتاش با ایجکس بره سرور ولیدیت بشه و اگه مشکل داشت بگه
3- هر فیلدی که پر شد با جاوااسکریپت ولیدیت کنه و اگه مشکل داشت بگه

اینکه شما بیای برا هر فیلد اینکارو بکنی(2 و 3) خوبیش اینه که کاربرت سریع میفهمه مشکل چیه و بر طرفش میکنه و همچنین فرمت شکیل تر میشه ولی نهایتن باید آخرسر تو سرور چک بشه چون ممکنه هکر بیاد اینکارایی که شما میکنیو از وسطش انجام بده یعنی یه سری اطلاعاتو قلمبه بدون ولیدیت آماده کنه و با همون ماژولای کلاینت شما بفرسته برا سرور اگه اونجا چک نشه .....

البته من زیاد با 2 موافق نیستم چون خیلی مسخرس چرا باید یه دیتارو بفرستیم سرور برا ولیدیت(غیر اینکه مثلا چک کنیم ایمیلو یکی دیگه نگرفته باشه) همون جا با جاوااسکریپت چکش میکنیم که کاربر اگه مشکل داشت بفهمه مشکلشو و بعدم میام نهایتن تو سرورم ولیدیت میکنیم که خیالمون راحت بشه

نمیدونم میتونم مفهومو برسونم یا نه