نمایش نتایج 1 تا 10 از 10

نام تاپیک: سوال در مورد فرستادن ایمن آرایه توسط متد post

  1. #1

    Exclamation سوال در مورد فرستادن ایمن آرایه توسط متد post

    سلام خدمت دوستان عزیز

    چجوری میتونم یک آرایه رو به صورت ایمن توسط متد پست ارسال کنم ؟

    خودم روش زیر رو پیاده کردم اما اگه کاربر یکم زرنگ باشه با دستکاری کد های html میتونه باگ درست کنه

    $essential_fields_array = array('name','lastname');
    if(@$_POST['submit'] == 'go'){ var_dump($_POST);}?>
    <form action=""> <input type="hidden" name="essential_fields" value="<?php echo serialize($essential_fields_array) ?>"/> <input type="submit" name="submit" value="go"></form>

  2. #2

    نقل قول: سوال در مورد فرستادن ایمن آرایه توسط متد post

    سلام اگه توضیح بهتر بدی بهتر میتونم کمکت کنم مثلا برای چه کاری می خوای
    ولی با این توضیح که دادی معلومه می خوای مقداری(ارایه) را که از قبل در php داری را ارسال کنی به صفحه ی دیگری خب تو می تونی اطلاعات فرم را به همین صفحه ارسال کنی و با php بگیری شون و به علاوه مقداری(ارایه) که می خوای بفرستی را با curl بفرستی به صفحه دیگر البته این باعث دو درخواست در سرور میشه شاید اگه بیشتر توضیح بدی بشه کار دیگه ای کرد

  3. #3

    نقل قول: سوال در مورد فرستادن ایمن آرایه توسط متد post

    نقل قول نوشته شده توسط hossein1377 مشاهده تاپیک
    سلام اگه توضیح بهتر بدی بهتر میتونم کمکت کنم مثلا برای چه کاری می خوای
    ولی با این توضیح که دادی معلومه می خوای مقداری(ارایه) را که از قبل در php داری را ارسال کنی به صفحه ی دیگری خب تو می تونی اطلاعات فرم را به همین صفحه ارسال کنی و با php بگیری شون و به علاوه مقداری(ارایه) که می خوای بفرستی را با curl بفرستی به صفحه دیگر البته این باعث دو درخواست در سرور میشه شاید اگه بیشتر توضیح بدی بشه کار دیگه ای کرد

    من برای هر کدوم از فرم های سایتم یه آرایه ای میسازم و داخل اون خصوصیات فیلد هارو مشخص میکنم و میگم مثلا فیلد نام خانوادگی باید 20 کاراکتر از نوع string باشه . وقتی فرم ارسال شد میرم تو کلاس کنترلر و اونجا کارای بررسی صحت داده های ارسالی از طرف کاربرو انجام میدم و اخر سر خطا هارو بر میگردونم ، اما این جا یه حفره امنیتی خیلی بزرگی وجود داره اونم اینه که این پیکربندی(همون آرایه ای که تنظیمات فیلد ها داخلشه) داخل خود فرم به صورت hidden قرار گرفته و کاربر اگه یکم زرنگ باشه میاد محتویات صفحه رو دستکاری میکنه و مثلا اونجا که من گفتم نام خانوادگی از نوع string باشه میکنتش int و کلا حساب کتاب مارو به هم میریزه ، مشکل اینه که من میخوام یه چیزیو با متد پست انتقال بدم اما نمیخوام کاربر بهش دسترسی داشته باشه

    در مورد curl هم تا حالا هیچ مطالعه ای نداشتم لطفا بگو چجوری میتونه مشکلمو حل کنه ؟
    آخرین ویرایش به وسیله amirhossein.sh : پنج شنبه 14 اردیبهشت 1396 در 00:34 صبح

  4. #4

    نقل قول: سوال در مورد فرستادن ایمن آرایه توسط متد post

    روش کاری که می خوای پیش ببری تنها راهش با curl است (به احتمال 90%) که تو اول فرم را به همین صفحه ارسال کن و مقادیر فرم ها را به علاوه بقیه موارد با curl ارسال کن به صفحه مد نظر و اونجا مانند فرم معمولی می تونی با $_POST به تمامی موارد دسترس داشته باشی
    اینجا کامل نمی تونم توضیح بهت بدم ولی چندتا مقاله که می تونه کار شما را حل کن میگم
    http://phpkar.blog.ir/post/%D8%A2%D8...8%AF%D8%B1-PHP

    https://webgoo.ir/151/%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1-%D8%A8%D9%87-url-%D9%88-%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%A8%D8%A7-php

    شما باید بعد از اینکه فرم ساب میت شد مقادیر را بگیر و با یک حلقه به عبارت زیر تبدیل کنی
    مثلا اگر دوتا فیلد داری به اسم username و password باید:
    باید این رشته را تولید کنی: password=content1&username=content2&(حالا همون$essential_fields_array که رمزنگاری کردی را مثلا باین مقدار قرار بده)
    password=content1&username=content2&essentialfield =$essential_fields_array
    و درکل یه چنین کدی درست میشه

    <?php
    //تنظیم آدرس url
    $curl = curl_init('ادرس موردنظر');
    //تنظیم ارسال از طریق متد POST
    curl_setopt($curl, CURLOPT_POST, 1);
    //تنظیم پارامترها
    curl_setopt($curl, CURLOPT_POSTFIELDS, 'password=content1&username=content2&essentialfiel d=$essential_fields_array');
    //تعین اینکه پاسخ سرور دریافت شود یا خیر
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    //اجرای نشست
    $result = curl_exec($curl);
    //پایان نشست
    curl_close($curl);
    ?>



    من فقط یه توضیح مختصر و یه راهنمایی کوچیک کردم اما اگه بری تحقیق کنی و curl را یاد بگیری شاید بهتر از این هم انجام بتونی بدی

  5. #5

    نقل قول: سوال در مورد فرستادن ایمن آرایه توسط متد post

    یعنی تو این روش دیگه نیازی نیست به فرم یه فیلد از نوع hidden اختصاص بدم و مقدار اون رو برابر آرایه تنظیمات فرم قرار بدم ؟؟؟ و یه جورایی بعد از اینکه اسم و فامیل وارد شد و سابمیت شد این کرل هست که میاد اون آرایه رو هم به متد پست اضافه میکنه و میفرسته به کلاس ؟

  6. #6

    نقل قول: سوال در مورد فرستادن ایمن آرایه توسط متد post

    دقیقا همینطوره تو مقادیر فرم را دریافت میکنی و به همراه مقادیر دیگر می فرستی به صفحه دلخواه 😉

  7. #7
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: سوال در مورد فرستادن ایمن آرایه توسط متد post

    نقل قول نوشته شده توسط amirhossein.sh مشاهده تاپیک
    من برای هر کدوم از فرم های سایتم یه آرایه ای میسازم و داخل اون خصوصیات فیلد هارو مشخص میکنم و میگم مثلا فیلد نام خانوادگی باید 20 کاراکتر از نوع string باشه . وقتی فرم ارسال شد میرم تو کلاس کنترلر و اونجا کارای بررسی صحت داده های ارسالی از طرف کاربرو انجام میدم و اخر سر خطا هارو بر میگردونم ، اما این جا یه حفره امنیتی خیلی بزرگی وجود داره اونم اینه که این پیکربندی(همون آرایه ای که تنظیمات فیلد ها داخلشه) داخل خود فرم به صورت hidden قرار گرفته و کاربر اگه یکم زرنگ باشه میاد محتویات صفحه رو دستکاری میکنه و مثلا اونجا که من گفتم نام خانوادگی از نوع string باشه میکنتش int و کلا حساب کتاب مارو به هم میریزه ، مشکل اینه که من میخوام یه چیزیو با متد پست انتقال بدم اما نمیخوام کاربر بهش دسترسی داشته باشه

    در مورد curl هم تا حالا هیچ مطالعه ای نداشتم لطفا بگو چجوری میتونه مشکلمو حل کنه ؟
    راه حلی نداره چون کارت اشتباهه
    ولیدیشن باید سمت سرور انجام بشه و قوانینش هم باید سمت سرور ثبت بشه (توی کنترلر)


    من درک نمیکنم چرا گفتن دوستان curl چون هیچ ربطی نداره , شاید من درست نخوندم
    curl به کارت نمیاد چون اون باز سمت سرور انجام میشه یعنی شما باید اطلاعات فرم رو بفرستی دوباره به بک اندی که curl توش قرار داره
    حالا اگه اطلاعات ولیدیشن رو توی فرم بزاری باز یوزر میتونه دستکاری بکنه
    اگه میخای اطلاعات ولیدیشن رو توی curl بزاری خب دیگه چه کاریه مستقیما توی کنترلرت بزار

  8. #8

    نقل قول: سوال در مورد فرستادن ایمن آرایه توسط متد post

    مشکل برطرف شد، اصلا نیازی به این نبود که بیام آرایه پیکربندی رو ب صورت مخفی تو فرم قرار بدم فقط کافی بود بعد از سابمیت شدن فرم بیام توسط دستور زیر آرایه رو بذارم داخل متد post

    <?php  $_POST['form_setting'] = $form_setting;?>


    نقل قول نوشته شده توسط plague مشاهده تاپیک
    راه حلی نداره چون کارت اشتباهه
    ولیدیشن باید سمت سرور انجام بشه و قوانینش هم باید سمت سرور ثبت بشه (توی کنترلر)


    من درک نمیکنم چرا گفتن دوستان curl چون هیچ ربطی نداره , شاید من درست نخوندم
    curl به کارت نمیاد چون اون باز سمت سرور انجام میشه یعنی شما باید اطلاعات فرم رو بفرستی دوباره به بک اندی که curl توش قرار داره
    حالا اگه اطلاعات ولیدیشن رو توی فرم بزاری باز یوزر میتونه دستکاری بکنه
    اگه میخای اطلاعات ولیدیشن رو توی curl بزاری خب دیگه چه کاریه مستقیما توی کنترلرت بزار

  9. #9

    نقل قول: سوال در مورد فرستادن ایمن آرایه توسط متد post

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    راه حلی نداره چون کارت اشتباهه
    ولیدیشن باید سمت سرور انجام بشه و قوانینش هم باید سمت سرور ثبت بشه (توی کنترلر)


    من درک نمیکنم چرا گفتن دوستان curl چون هیچ ربطی نداره , شاید من درست نخوندم
    curl به کارت نمیاد چون اون باز سمت سرور انجام میشه یعنی شما باید اطلاعات فرم رو بفرستی دوباره به بک اندی که curl توش قرار داره
    حالا اگه اطلاعات ولیدیشن رو توی فرم بزاری باز یوزر میتونه دستکاری بکنه
    اگه میخای اطلاعات ولیدیشن رو توی curl بزاری خب دیگه چه کاریه مستقیما توی کنترلرت بزار
    دوست عزیز ایشون مقدار ولیدیشنش را می خواست با فرم ارسال کنه به صفحه دیگری لابد تو اون صفحه به این مقادیر دسترسی نداشته که میفرسته وگر نه اصول ولیدیشن اینه که مثلا یه کلاس جدا به اسم ولیدیشن بسازی و بر اساس نام مقدار مثلا ایمیل، ولیدیشن انجام بدی یعنی از قبل این بدنه را در خود کلاس قرار بدی و فقط صداش بزنی مقدار را با نوعش براش بفرستی ولی ایشون چون می خواستند مقادیر را تو فرم ارسال کنند تنها راه امنش اینه عنوان تاپیک هم دقت کن

  10. #10

    نقل قول: سوال در مورد فرستادن ایمن آرایه توسط متد post

    نکته دیگه این که کاربر به هیچ وجه نمی تونه اطلاعات ولیدیشن را تغییر بده چون تو بک اند ارسال میشه ولی بازم اگه برای ولیدیشن می خوای بهتره کلاس جداگونه بنویسی و اطلاعات را از قبل در این کلاس داشته باشی

تاپیک های مشابه

  1. مبتدی: سوال در مورد خواندن از ارایه ؟؟؟
    نوشته شده توسط سپهر-111 در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: پنج شنبه 20 مهر 1391, 12:20 عصر
  2. سوال: سوال در مورد textbox و آرایه
    نوشته شده توسط maminb در بخش VB.NET
    پاسخ: 5
    آخرین پست: پنج شنبه 10 دی 1388, 00:06 صبح
  3. سوال در مورد ساخت فایل نصبی توسط Sfx Tool
    نوشته شده توسط yeki_be_name_hich_kas در بخش تولید و توسعه برنامه های Setup و Install
    پاسخ: 0
    آخرین پست: سه شنبه 24 آذر 1388, 17:20 عصر
  4. سوال: سوال در مورد فرستادن تکست به کمبو بوکس
    نوشته شده توسط jooje_kocholo در بخش برنامه نویسی در 6 VB
    پاسخ: 15
    آخرین پست: چهارشنبه 07 مرداد 1388, 02:21 صبح
  5. سوال در مورد ساختمان و آرایه
    نوشته شده توسط bobo_021 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: جمعه 11 بهمن 1387, 09:51 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •