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

نام تاپیک: جلوگیری از حملات mysql

  1. #1
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    دی 1389
    محل زندگی
    شهر من یک گل به نام حضرت معصومه(س) دارد
    پست
    495

    جلوگیری از حملات mysql

    سلام دوستان
    من این تابع رو برای امنیت سایتم استفاده کردم
    function sql_quote($value){
    if(get_magic_quotes_gpc()){
    $value=stripslashes($value);}
    if(function_exists("mysql_real_escape_string")){
    $value=mysql_real_escape_string($value);}
    else{
    $value=addslashes($value);}
    return($value);}

    و مثلابرای فیلدی به نام name به صورت زیر استفاده کردم
    sql_quote($_REQUEST['name']);

    ولی وقتی توی name کارکتر" رو می نویسم توی بانک درج می کنه.
    چرا؟؟؟؟

  2. #2

    نقل قول: جلوگیری از حملات mysql

    این کاراکترها Escape میشن، نه حذف/فیلتر.
    Escape کردن از درج در دیتابیس جلوگیری نمیکنه.
    درج هرچیزی در دیتابیس به خودی خودش خطری نداره.
    اگر میخواید در رشتهء مورد نظر کاراکترهای خاصی وجود نداشته باشن باید این کار رو از راه دیگری انجام بدن. البته Escape کردن رو برندارید و همیشه قبل از درج در کوئری Escape کنید گرچه کاراکترهای خاصی رو قبلا فیلتر کرده باشید.

  3. #3
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    دی 1389
    محل زندگی
    شهر من یک گل به نام حضرت معصومه(س) دارد
    پست
    495

    نقل قول: جلوگیری از حملات mysql

    به نظرتون از strip_tags استفاده کنم؟
    کاربری که فرم رو پر میکنه تگ html لازم نداره.

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

    نقل قول: جلوگیری از حملات mysql

    با سلام
    می تونی از این تابع برای امنیت بیشتر استفاده کنی
    فقط مقدار رو به تابع بده و همونو روی خودش ذخیره کن
    function secure($string) { 
    $string = strip_tags($string);
    $string = htmlspecialchars($string);
    $string = trim($string);
    $string = stripslashes($string);
    $string = mysql_real_escape_string($string);
    return $string;

    }


    $str=secure($str);

  5. #5

    نقل قول: جلوگیری از حملات mysql

    الان وقتی از این تابع استفاده میکنم خیالم از همه ورودی ها راحت باشه؟

  6. #6
    کاربر دائمی آواتار farhadfery
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    پست
    723

    نقل قول: جلوگیری از حملات mysql

    ببین vejmad قبلا در موردش بحث کرده بود. یه فانکشن هم به اسم smartquta دادند. شبیه تابع بالا است . البیته if esle داره . برای اینکه ببینه majic_qu.. هست یا نه

  7. #7

    نقل قول: جلوگیری از حملات mysql

    if(function_exists("mysql_real_escape_string"))

    این شرط برای چیه؟

    اگر سروری این تابع رو پشتیبانی نکنه، بنظرم بهتره اصلا از اون سرور استفاده نکنید. چون دردسترس ترین ابزار ایجاد امنیت دیتابیس رو برای برنامه نویس فراهم نکرده و معلوم نیست بقیه ابزار امنیتی رو هم بکار می بره یا نه!

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

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