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

نام تاپیک: لاگین با استفاده از stored procedure

  1. #1

    لاگین با استفاده از stored procedure


    CREATE TABLE usertb (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(30) NOT NULL,
    name VARCHAR(30) NOT NULL,
    password VARCHAR(30),
    email VARCHAR(50),
    mobile VARCHAR(20),

    reg_date TIMESTAMP
    )



    سلام ، من یک جدول با کد بالا ایجاد کردم ، حالا میخوام برای درست کردن صفحه لاگین میخوام برای این جدول یک SP بنویسم
    در جست و جویی که برای یادگیری داشتم به این لینک رسیدم که این کد پیشنهاد شده :



    CREATE PROCEDURE `IsUserPasswordValid`(
    IN username varchar(50),
    IN password_p VARCHAR(20),
    OUT yes_no int
    )
    BEGIN
    SELECT count(*) INTO yes_no
    FROM USER u
    WHERE u.USER_ID = username && u.password = password_p;
    END



    لینک منبع :http://stackoverflow.com/questions/2...rocedure-login

    دو سوال دارم :

    اول اینکه برای جدولی که طراحی کردم ، SP پایین رو چطور تغییر بدم ؟ و اگر ممکن هست یک مثال برای فراخوانی SP جدولم تو Pdo میخوام .

    دوم اینکه : هر جا صحبت از امنیت کوئری ها شده اکثرا" در کنارش اسم SP ها اومده ، معنی اش اینکه اگر کوئری ها رو فقط با دستورات pdo اجرا کنیم
    باز هم احتمال هک شدن هست ، یا برداشت من اشتباه بوده ؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جزیره مارماری
    پست
    1,137

    نقل قول: لاگین با استفاده از stored procedure

    ببینید sp میاد از همه منابع سرور استفاده میکنه که باعث میشه سرعت اجرای query بیشتر بشه.کارش همینه.در حالت عادی mysql از همه منابع سرور استفاده نمیکنه

  3. #3

    نقل قول: لاگین با استفاده از stored procedure

    نقل قول نوشته شده توسط Mohammadsgh مشاهده تاپیک
    ببینید sp میاد از همه منابع سرور استفاده میکنه که باعث میشه سرعت اجرای query بیشتر بشه.کارش همینه.در حالت عادی mysql از همه منابع سرور استفاده نمیکنه
    ممنون ، اگر ممکنه در مورد سوال اول هم راهنمایی کنن .

  4. #4
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: لاگین با استفاده از stored procedure

    هر جا صحبت از امنیت کوئری ها شده اکثرا" در کنارش اسم SP ها اومده ، معنی اش اینکه اگر کوئری ها رو فقط با دستورات pdo اجرا کنیم
    باز هم احتمال هک شدن هست ، یا برداشت من اشتباه بوده ؟
    نمیدونم چرا برای کار های ساده ای مثل لاگین میخواین از SP استفاده کنید. PDo وMySQLi از Parametric Query ها یا همون Prepared Statement ها استفاده میکنند و در این حالت injection اصلا معنی نمیده :
    $stmt = $mysqli->prepare("select u_id from users where u_username = ? and u_password = ?");
    $stmt->bind_param("ss", $username,$password);
    $stmt->execute();


    Stored Procedure زمانی کاربرد دارن که شما توی یک روال میخواین خروجی های متنوع با شرط و حلقه و غیره با سرعت بالا بگیرین. حتی اگه prepared statement را استفاده نکنید و از همون escape کرد نبه درستی استفاده کنین هیچ مشکل امنیتی نخواهین داشت.

    کلا خانوم حکمت خودتون را برای چنین چیز هایی با SP درگیر نکنین.

  5. #5

    نقل قول: لاگین با استفاده از stored procedure

    نقل قول نوشته شده توسط Unique مشاهده تاپیک
    نمیدونم چرا برای کار های ساده ای مثل لاگین میخواین از SP استفاده کنید. PDo وMySQLi از Parametric Query ها یا همون Prepared Statement ها استفاده میکنند و در این حالت injection اصلا معنی نمیده :
    $stmt = $mysqli->prepare("select u_id from users where u_username = ? and u_password = ?");
    $stmt->bind_param("ss", $username,$password);
    $stmt->execute();


    Stored Procedure زمانی کاربرد دارن که شما توی یک روال میخواین خروجی های متنوع با شرط و حلقه و غیره با سرعت بالا بگیرین. حتی اگه prepared statement را استفاده نکنید و از همون escape کرد نبه درستی استفاده کنین هیچ مشکل امنیتی نخواهین داشت.

    کلا خانوم حکمت خودتون را برای چنین چیز هایی با SP درگیر نکنین.
    ممنونم که تذکر دادین ، تصورم این بود که این یک ضروررته ، که حتما باید با SP کار کنیم . من همونطور که شما گفتین عمل می کنم .
    اما صرفا" برای مواردی که به SP نیاز خواهد بود (جهت یادگیری می پرسم ) ، اگر زحمتی نیست بفرمایین که برای اون جدولی که
    طراحی کردم اگر قرار بود از Sp استفاده کنم (منظورم بررسی لاگین با بوسیله Pdo و SP هست )
    من نوشتن SP رو یاد گرفتم ، ولی اینکه چطور از طریق php می تونم به SP که در Mysql هست ورودی بفرستم مثلا همون یوزر و پسورد
    و اینکه چطور خروجی این SP رو در php بدست بیارم برام گنگ هست . بازم ممنونم .

  6. #6
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: لاگین با استفاده از stored procedure

    با استفاده از call مثل نوشتتن یک جمله select اینطوری :

    sprintf("call IsUserPasswordValid('%s','%s')",$username,$passwor  d);

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

  1. چگونگی استفاده از Stored Procedure
    نوشته شده توسط وفایی در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 2
    آخرین پست: یک شنبه 16 اسفند 1383, 12:30 عصر
  2. استفاده از Stored Procedure
    نوشته شده توسط Saeed Mousavi در بخش VB.NET
    پاسخ: 2
    آخرین پست: یک شنبه 11 بهمن 1383, 21:22 عصر
  3. مشکل جستجوی عکس در استفاده از stored procedure
    نوشته شده توسط spenans در بخش ASP.NET Web Forms
    پاسخ: 9
    آخرین پست: جمعه 20 آذر 1383, 16:00 عصر
  4. حد استفاده از Stored Procedure
    نوشته شده توسط M.GhanaatPisheh در بخش SQL Server
    پاسخ: 1
    آخرین پست: چهارشنبه 20 آبان 1383, 08:00 صبح
  5. استفاده از stored procedure ها در داخل شرط query
    نوشته شده توسط turk_programmer در بخش SQL Server
    پاسخ: 1
    آخرین پست: جمعه 15 آبان 1383, 19:28 عصر

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

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