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

نام تاپیک: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

  1. #1
    کاربر دائمی آواتار mokhtasatxyz
    تاریخ عضویت
    آذر 1387
    محل زندگی
    شیراز
    پست
    130

    Question سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    سلام
    به نظر شما ایا برای فرم ها و صفحاتی مانند تماس با ما - ازسال نظرات و مانند اینها که فقط کاربر فیلد هایی مانند نام خانوادگی، موضوع و متن پیغام داشته باشد . و این اطلاعات امنیتی نیست لازم است از کد هایی مثلا mysql_escape_stringو یا اعتبار سنجی و یا جلوگیری از sql enjection استفاده کرد
    من در این صفحات از کد تصاویر امنیتی استفاده کرده ام ایا کافی است؟
    ممنون

  2. #2

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    نقل قول نوشته شده توسط mokhtasatxyz مشاهده تاپیک
    سلام
    به نظر شما ایا برای فرم ها و صفحاتی مانند تماس با ما - ازسال نظرات و مانند اینها که فقط کاربر فیلد هایی مانند نام خانوادگی، موضوع و متن پیغام داشته باشد . و این اطلاعات امنیتی نیست لازم است از کد هایی مثلا mysql_escape_stringو یا اعتبار سنجی و یا جلوگیری از sql enjection استفاده کرد
    من در این صفحات از کد تصاویر امنیتی استفاده کرده ام ایا کافی است؟
    ممنون
    دوست عزیز شما هنوز درک درستی از امنیت ندارید
    کاربر لزوما اون چیزی که برنامه نویس!شما در نظر دارید وارد این فرم هاتون نمیکنه پس همیشه و هرجا هر ورودی که از خارج میاد حالا میخواد هدر باشه میخواد url باشه یا همین فرمها باید اعتبار سنجی بشه
    کد کپچا برای اینه که تشخیص بدی کسی که فرم فرستاده انسان هست پس نمیتونه کلی فرم رو ارسال کنه!به اصطلاح spamming کنه و بحثش با کنترل و اعتبارسنجی ورودی ها متفاوته.

    پس هر ورودی که دریافت میکنید مطمئن شید که معتبر هست

    پس لازم است این اطلاعات رو از کدهای sql پاک کنید برای داده هایی که قراراست بعنوان کوئری به سمت mysql فرستاده بشن
    و داده های دیگه که قراره در برنامه استفاده بشن.

    برای نوع اول از تابع


    mysql_real_escape_string();

    //جلوگیری از باگ
    sqlinjection و blindsql injection

    و برای نوع دوم از تابع های

    $new_code= strip_tags($string);
    $new_code= htmlentities($string);

    //$string رشتتونه که میخواید چکش کنید
    //new_code هم ورودیتونه که چک شده و از کدهای مخرب پاک شده

    //جلوگیری از باگ xss و rfi و ....

  3. #3
    کاربر دائمی آواتار navid3d_69
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    سن
    33
    پست
    627

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

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

    فرمها باید از نظر sqlinjection و xss و CSRF امن بشن

    برای sqlinjection خودتون صحبت هایی کردین ولی بهتر هست آموزشی که توی همین بخش ارسال کردم رو بخونید و سعی کنید که از PDO استفاده کنید

    XSS هم دوستمون توضیح دادن که اون هم باز توی همین بخش مقاله ای رو من قبل گذاشتم

    برای CSRF باید از توکن استفاده کنید برای فرم ها و همیشه فرم هایی که تمامی کاربران می بینند و در درسترس عموم هستن رو از کد امنیتی هم استفاده کنید

  4. #4
    کاربر دائمی آواتار mokhtasatxyz
    تاریخ عضویت
    آذر 1387
    محل زندگی
    شیراز
    پست
    130

    Question نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

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

    پس هر ورودی که دریافت میکنید مطمئن شید که معتبر هست
    من برای فیلد هایی مانند radio , checbix , select, hidden از روش زیر استفاده کرده ام ایا کافی است؟ایا برای این نوع فیلد ها اعتبار سنجی نیاز است؟

    if(!empty($_POST['sex_kj']))
    {
    if(preg_match('[1-2]', $_POST['sex_kj']))
    {
    $f=$_POST['sex_kj'];
    $f=mysql_escape_string($f);
    }
    else
    {
    $valid=(int)0;
    unset($_POST['sex_kj']);
    }
    }
    else
    $valid=(int)0;
    و
    insert $f to SQL query

    برای نوع دوم از تابع های


    $new_code= strip_tags($string);
    $new_code= htmlentities($string);

    //$string رشتتونه که میخواید چکش کنید
    //new_code هم ورودیتونه که چک شده و از کدهای مخرب پاک شده

    //جلوگیری از باگ xss و rfi و ....



    می شود در مورد این دو تابع بیشتر توضیح دهید ؟چه داده هایی وارد این تایع می شود و چگونه از ان استفاده کنم؟
    ممنون

  5. #5
    کاربر دائمی آواتار navid3d_69
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    سن
    33
    پست
    627

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    شما مقداری که خودتون میدین رو جلوش int می گذارید که نیاز نیست چون مقدار ثابت هست و قابل تغییر نیست مقداری که از کاربر دریافت می کنین رو که باید عدد باش رو Int نمی گذارید خوب این باید برعکس باشه اون regex هم نیاز نیست با Int مشکل حل میشه

  6. #6
    کاربر دائمی آواتار mokhtasatxyz
    تاریخ عضویت
    آذر 1387
    محل زندگی
    شیراز
    پست
    130

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

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

    نقل قول نوشته شده توسط navid3d_69 مشاهده تاپیک
    برای CSRF باید از توکن استفاده کنید
    توکن چیست ؟

    ضمنا لطفا لینک دو اموزشی که گفتید را برایم بگذارید.
    ممنون

  7. #7
    کاربر دائمی آواتار mokhtasatxyz
    تاریخ عضویت
    آذر 1387
    محل زندگی
    شیراز
    پست
    130

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    نقل قول نوشته شده توسط navid3d_69 مشاهده تاپیک
    اون regex هم نیاز نیست با Int مشکل حل میشه
    در بخش های این انجمن نوشته اند که هکر میتواند فرمی را خود تولید کند که داده هایی را از روش post به فرمی ارسال(تزریق) کند. با این وجود به گفته شما برای داده هایی که باید حتما عددی باشند و یا در فرم قابلیت فقط انتخابی داشته باشند نیازی به اعتبار سنجی انها نیست .ایا اینطور است ؟من که این طور برداشت کردم

  8. #8

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    تابع strip_tags میاد تگ های غیرمجاز رو پاک میکنه مثل تگ <script>
    htmlentites هم میاد کارکترهای غیرمجاز رو خنثی میکنه مثل ; ' , و...
    شما هرچیزی که از کاربر میگیری میزاری تو این تابع اینجوری


    $info=strip_tags($_POST['etelaate karbar']);


    بعضی مواقع شما بعضی اطلاعات رو به روش get میفرستی پس در url نمایش میده و قابل دستکاری هست.

    بعضی اطلاعات هم از هدرمیگیری مثل HTTP_REFERER و بعد میخوای اینو ازش استفاده کنی و شاید هدر جعلی باشه پس باید چک بشه

    برای توکن هم شما فرم ک میسازی یه رشته ساختگی و unique میسازی و بوسله ی یک hidden field میزاری یا اصلا میتونی از url بفرستی به صفحه ی مقصد

    و همون رشته ی ساختگی رو با سشن میفرستی ب صفحه ی مقصد و مقایسه میکنی در نتیجه میشه از باگ csrf جلوگیری کرد

  9. #9

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    نقل قول نوشته شده توسط mokhtasatxyz مشاهده تاپیک
    در بخش های این انجمن نوشته اند که هکر میتواند فرمی را خود تولید کند که داده هایی را از روش post به فرمی ارسال(تزریق) کند. با این وجود به گفته شما برای داده هایی که باید حتما عددی باشند و یا در فرم قابلیت فقط انتخابی داشته باشند نیازی به اعتبار سنجی انها نیست .ایا اینطور است ؟من که این طور برداشت کردم
    وقتی int میزاری یعنی میگی این متغییر عددی هست پس اگه عددی نباشه ارور میده پس داری اعتبار سنجی میکنی دیگه!

  10. #10
    کاربر دائمی آواتار mokhtasatxyz
    تاریخ عضویت
    آذر 1387
    محل زندگی
    شیراز
    پست
    130

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    نقل قول نوشته شده توسط omidabedi مشاهده تاپیک
    بعضی اطلاعات هم از هدرمیگیری مثل HTTP_REFERER و بعد میخوای اینو ازش استفاده کنی و شاید هدر جعلی باشه پس باید چک بشه
    برای چک کردن هدر و اعتبار سنجی ان باید چکارکنم؟

    نقل قول نوشته شده توسط omidabedi مشاهده تاپیک
    برای توکن هم شما فرم ک میسازی یه رشته ساختگی و unique میسازی و بوسله ی یک hidden field میزاری یا اصلا میتونی از url بفرستی به صفحه ی مقصد

    و همون رشته ی ساختگی رو با سشن میفرستی ب صفحه ی مقصد و مقایسه میکنی در نتیجه میشه از باگ csrf جلوگیری کرد
    من با توضیحات شما این را فهمیدم که یک فیلد hidden با مقدار یک رشته را در فرم بسازم و در کد های php خود این مقدار hidden را چک کنم ولی نفهمیدم ان رشته ساختگی را که در فرم طراحی کرده ام چگونه با سشن بفرستم ؟ایا در قسمت کد های طراحی فرم می شود به متغییر سشن مقدار داد ایا منظور شما نوشتن کدی شبیه به این است؟

    < form action="" method="POST">
    <?php $_SESSION['a'] ='3';?>
    < /form>

    ضمنا تمامی کد های فرم و php من در یک فایل است و از دو فایل جدا برای فرم و دستورات php استفاده نکرده ام
    آخرین ویرایش به وسیله mokhtasatxyz : جمعه 05 اردیبهشت 1393 در 16:58 عصر

  11. #11

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    نقل قول نوشته شده توسط mokhtasatxyz مشاهده تاپیک
    برای چک کردن هدر و اعتبار سنجی ان باید چکارکنم؟



    من با توضیحات شما این را فهمیدم که یک فیلد hidden با مقدار یک رشته را در فرم بسازم و در کد های php خود این مقدار hidden را چک کنم ولی نفهمیدم ان رشته ساختگی را که در فرم طراحی کرده ام چگونه با سشن بفرستم ؟ایا در قسمت کد های طراحی فرم می شود به متغییر سشن مقدار داد ایا منظور شما نوشتن کدی شبیه به این است؟

    < form action="" method="POST">
    <?php $_SESSION['a'] ='3';?>
    < /form>

    ضمنا تمامی کد های فرم و php من در یک فایل است و از دو فایل جدا برای فرم و دستورات php استفاده نکرده ام

    دوست عزیز هرموقع نیاز به اطلاعت هدر داشتی باید هدر رو بگیری !!!
    برای اعتبار سنجیشم گفتم قبلا بهتون اگر قراره از این اطلاعات در ساخت کوئری استفاده کنی باید mysql_real_escape_string و htmlentites بگذرونیشون
    اگرم نه همون strip_tags و htmlentites

    چیزهایی که میتونی بگیری از هدر و ...
    http://ir2.php.net/manual/en/reserve...les.server.php


    برای توکن باید از یک رشته ی تصادفی استفاده کنی و بهتر است که اونو با md5 رمزنگاری کنی.
    بهتر است از دو صفحه استفاده کنی.
    یک صفحه فرم و دیگری برنامه ی php و .....


    session_start();
    $token = md5(uniqid(rand(),TRUE));
    $_SESSION['token']= $token;


    همین توکنی که ساختیمو توی hidden field همراه فرممون به صفحه ی دوم میفرستیم
    اونجا چک میکنیم ایا سشن مقدار دهی شده(isset)؟اگر شده ایا برابر سشنی هست که توی hidden fieldمون هست؟اگر اره پس فرم از روی سایت خودمون submit شده و باگ csrf نداره

    برای روش استفاده از سشن هم سرچ کنید

  12. #12
    کاربر دائمی آواتار navid3d_69
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    سن
    33
    پست
    627

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    نقل قول نوشته شده توسط mokhtasatxyz مشاهده تاپیک
    در بخش های این انجمن نوشته اند که هکر میتواند فرمی را خود تولید کند که داده هایی را از روش post به فرمی ارسال(تزریق) کند. با این وجود به گفته شما برای داده هایی که باید حتما عددی باشند و یا در فرم قابلیت فقط انتخابی داشته باشند نیازی به اعتبار سنجی انها نیست .ایا اینطور است ؟من که این طور برداشت کردم
    برای اینکه درخواست ها فقط از همون فرم و همون صفحه ارسال بشه از توکن استفاده کنید این مشکل حل میشه

  13. #13
    کاربر دائمی آواتار mokhtasatxyz
    تاریخ عضویت
    آذر 1387
    محل زندگی
    شیراز
    پست
    130

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    از همه شما ممنونم که برای من وقت گذاشتید. کاملا توضیحات شما را فهمیدم و از ان استفاده نمودم.

  14. #14
    کاربر دائمی آواتار mokhtasatxyz
    تاریخ عضویت
    آذر 1387
    محل زندگی
    شیراز
    پست
    130

    Question نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    سلام
    ببخشید یک سوال برایم پیش امد که مجبور شدم مجددا به این تاپیک سر بزنم
    در استفاده از توکن اگر برسی شد و ان سشن وجود نداشت و در واقع داده ها از طریق فرم ما نیامده بود باید چکار کنم؟
    ایا کاربر را به یک سایت دیگر ارجاء دهم؟
    ایا تمامی متغییر ها و سشن ها را unset کنم؟
    مرورگر را ببندم؟
    __________________________________________________ _________________________
    اصلا اگر در برسی داده برای کشف انواع نفوذها به بک اختلال و تناقض(نفوذ) برخورد نمودیم مانند مثال بالا یا باگ xss و rfi باید چکارهایی انجام دهیم؟
    __________________________________________________ _____________________
    راستی دستور exit دقیقا چکار می کند؟
    ممنون

  15. #15
    کاربر دائمی آواتار masiha68
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    نقطه ی صفر مرزی
    پست
    816

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

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

  16. #16
    کاربر دائمی آواتار navid3d_69
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    سن
    33
    پست
    627

    نقل قول: سوال:لزوم امنیت در فرم هایی مانند تماس با ما . نظرات.

    دوست عزیز دقت کنید توکن رو برای لینک های مهم هم قرار بدین مثلا برای ثبت یک محصول یا اضاف کردن به سبد خرید یا حذف یک کامنت و قسمت های مهم ...

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

  1. امنیت ارسال فرم تماس با ما
    نوشته شده توسط maryam6262 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: دوشنبه 16 دی 1392, 07:57 صبح
  2. سوال در مورد ساخت فرم هایی با تعداد نامعلوم عناصر
    نوشته شده توسط nasrin55 در بخش ASP.NET Web Forms
    پاسخ: 7
    آخرین پست: پنج شنبه 29 تیر 1391, 10:25 صبح
  3. پاسخ: 7
    آخرین پست: یک شنبه 01 شهریور 1383, 11:54 صبح
  4. برنامه هایی مانند صفحات پاور پوینت
    نوشته شده توسط مطهر در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: سه شنبه 27 آبان 1382, 01:53 صبح
  5. فرم هایی شبیه پنجره های xp
    نوشته شده توسط n1999 در بخش برنامه نویسی در Delphi
    پاسخ: 7
    آخرین پست: چهارشنبه 26 شهریور 1382, 20:04 عصر

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

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