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

نام تاپیک: امنیت کد

  1. #1

    امنیت کد

    سلام

    من تازه PDO رو شروع کردم. این کد امنه ؟


    $dbh = new PDO("mysql:host=$hostname; dbname=bookstore; charset=UTF8", $username, $password);
    echo 'Connected to database';
    $sql = "INSERT INTO users (username, email, password, age) VALUES (:user, :eml, :pass, :ag)";
    $stmt = $dbh->prepare($sql);
    $stmt->execute(array(":user"=>$_POST['username'],":eml"=>$_POST['email'],":pass"=>$_POST['password'],":ag"=>$_POST['age']));
    $dbh = null;


    و میخواستم بدونم آیا متغیر هایی که در فرم وارد میشوند مانند password در فرم لاگین باید قبل از شرکت در دستور SELECT چه عمیاتی روشون انجام بگیره تا امن بشن. در کد بالا قبل از اینکه متغیر ها به دستور INSERT اضافه بشوند دستور prepare استفاده شده. آیا این از نظر امنیتی درسته ؟
    ممنونم

  2. #2

    نقل قول: امنیت کد

    کدتون از لحاظ امنیتی مشکلی نداره و درست است

  3. #3

    نقل قول: امنیت کد

    فقط توی PDO یادتون باشه همیشه
    PDO به خودی خود نمیاد یک query رو safe کنه و تنها متغییرهایی که به تابع execute یا bind میدید رو escape میکنه
    پس هیچ وقت فکر نکنید و انتظار نداشته باشید که query ای که از قبل ساخته شده و متغییرهاش درونش جایگذاری شده هر چند هم که prepare کنید امن هست

    مثل این:

    $query = "SELECT * FROM users WHERE username='$username' AND password='$password' ";
    $prepared = $dbc->prepare($query); //از قبل داده ها درون query مقدار دهی شدن
    $prepared->execute();


    این الان باگ داره
    حتما باید متغییرهای $username و $password یا بصورت ارایه به execute داده بشن یا bindParam بشن که باگ امنیتی برطرف بشه

  4. #4

    نقل قول: امنیت کد

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

    من همیشه متغیرها رو مانند مثالی که نوشتم با : و بصورت پارامتری به به SQL ارسال میکنم

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

  1. امنیت اطلاعات قوی
    نوشته شده توسط binyaz2003 در بخش Foxpro
    پاسخ: 15
    آخرین پست: سه شنبه 22 خرداد 1386, 14:31 عصر
  2. امنیت سایتهایی که با asp.net درست می شوند
    نوشته شده توسط amir_masoud در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: دوشنبه 30 آبان 1384, 20:02 عصر
  3. اینم از امنیت paradox:
    نوشته شده توسط houshmand در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: پنج شنبه 26 تیر 1382, 11:00 صبح

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

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