انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اشکال در اعتبار سنجی فرم با PHP و javascript

اشکال در اعتبار سنجی فرم با PHP و javascript

#2
سلام.

(۱۳۹۴/۰۲/۰۵, ۱۰:۲۸ ب.ظ)'ساراعلی' نوشته: من یک صفحه متشکل از یک فرم و یک کد امنیتی در انتهای اون جهت جلوگیری از پیامهای هرز ایجاد کردم و فیلدها رو با جاوااسکریپت validate کردم و کد امنیتی رو با php !!  
سوال اول اینکه: الان که مقدار action رو برابر با هر صفحه ای قرار بدم وقتی رو دکمه submit کلیک میکنم اگه مقدار فیلدها صحیح وارد شده باشه بدون اینکه صحت کد امنیتی رو بررسی کنه به اون صفحه که در action تعریف شده وارد میشه!!!! اشکال کجاست؟
 

javascript این قابلیت را دارد که با کلیک کاربر بر روی دکمه، اطلاعات را چک کند، زیرا در سمت کاربر اجرا می شود، اما PHP در سمت سرور اجرا می شود بنابراین باید بخشی که با PHP تعیین شده، با یک بار دیگر فراخوانی صفحه ار سرور (که کد php آن صفحه هم اجرا می شود) اجرا گردد، یعنی شما نمی توانید در سمت کاربر، کد نوشته شده توسط PHP را اجرا کنید. حالا دو راه دارید. یا بخش کد امنیتی (نوشته شده توسط PHP) را هم با javascript بنویسید (که البته امن نیست و توصیه نمی شود زیرا معمولا javascript تنها برای صحت اطلاعات وارد شده در فرم به کار می رود) یا اینکه در خود صفحه دوم (صفحه دریافت اطلاعات فرم و پردازش بر روی آنها)، کد PHP مربوط به کد امنیتی را اجرا کنید.
این رو هم تذکر بدم که مجبور نیستید که حتما صفحه پردازش را متفاوت با صفحه فرم HTML انتخاب کنید. خود بنده معمولا این دو را یکی می گیرم (علامت # را برای action بگذارید) و اگر یک field از فرم به غلط وارد شده باشد، اطلاعات دریافتی را دوباره در فرم نمایش داده و تذکر می دهم که field غلط نیز تصحیح شود (کاربر هم مجبور نمی شود که دوباره اطلاعات صحیح را بنویسد).

(۱۳۹۴/۰۲/۰۵, ۱۰:۲۸ ب.ظ)'ساراعلی' نوشته: سوال دوم اینکه: من یک پایگاه داده ایجاد کردم و میخوام اطلاعات کاربر به اون پایگاه فرستاده بشه تا بعد از بررسی توسط مدیر سایت در سایت منتشر بشه و یک پیغام مبنی بر موفقیت آمیز بودن ثبت اطلاعات به همراه اطلاعات وارد شده کاربر تو یک صفحه جدید به خودش نشون داده شه لطفا راهنمایی کنید که چیکار کنم  خیلی ممنون میشم
 

پس از کد پردازشی PHP که برای ذخیره اطلاعات در پایگاه داده است، پیام موفقیت آمیز بودن ذخیره اطلاعات را بنویسید. بر اساس ساختار زیر (تشخیص صحیح اجرا شدن query ذخیره در پایگاه داده) :

کلید شماره 573

در جدول، یک ستون تعریف می کنید که مقدار پیش فرض آن برابر 0 باشد. کدهای نمایش اطلاعات از جدول را به گونه ای می نویسید (شرطی) که هر اطلاعات تنها زمانی نمایش داده می شود که این ستون برابر 1 باشد. شما اطلاعات ذخیره شده را می خوانید و اگر بدون مشکل بودند، مقدار این ستون را برابر 1 قرار می دهید (برای آن ردیف از اطلاعات).

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط ساراعلی


پیام‌های این موضوع
RE: اشکال در اعتبار سنجی فرم - توسط admin - ۱۳۹۴/۰۲/۰۶, ۰۲:۰۷ ب.ظ
RE: اشکال در اعتبار سنجی فرم - توسط ساراعلی - ۱۳۹۴/۰۲/۰۶, ۰۸:۰۰ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان