/
  • set کردن نام کاربری با session در codeigniter

  • صفحه‌ها (2):
  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی set کردن نام کاربری با session در codeigniter
    نویسنده پیام
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #1
    set کردن نام کاربری با session در codeigniter
    سلام
    من یه سوال دارم که امیدوارم بتونم درست براتون توضیح بدم
    ببینید ما یه فرم داریم که میاد یه سری اطلاعات رو به دیتابیس وارد می کنه.
    از طریق یک Hidden_form هم نام کاربری رو از session می گیره و در db ذخیره میکنه.
    تا اینجا درسته.
    اما من حالا می خوام کاری کنم که وقتی کاربر login کرده (true==logged_in)
    مثلا title تغیر کنه یا مثلا اجازه ادیت و دیلیت بده.
    من هر راهی رو رفتم به در بسته خوردم
    خلاصه سوال : توی php ما میگیم
    کد PHP:
    select from 'my' where 'user_name'==$_SESSION['user_name'
    توی ci چه جوری میشه اینو نوشت؟؟؟
    __________________________________________________________________________
    welcome to the club
    ۱۳۸۸ دي ۲۰ ۱۱:۳۸ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    behrooz_heyhu آفلاین
    عضو جدید
    **

    ارسال‌ها: 34
    تاریخ عضویت: ۱۳۸۸ مهر ۲۷
    اعتبار: 1
    تشکرها : 32
    ( 52 تشکر در 13 ارسال )
    ارسال: #2
    RE: set کردن نام کاربری با session در codeigniter
    سلام
    امیدوارم این جواب گو باشه
    با این دستور میتونی یه session مقدار بدی
    کد PHP:
    $this->session->set_userdata('some_name''some_value'); 

    و با این دستور میتونی یه Query داشته باشی
    کد PHP:
    $query $this->db->get_where('mytable', array('id' => $id), $limit$offset); 
    البته به جای id باید username بزاری
    اگه مشکلی داشتی در خدمتت هستیم
    موفق باشی
    ۱۳۸۸ دي ۲۰ ۱۰:۰۸ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #3
    RE: set کردن نام کاربری با session در codeigniter
    من متوجه نشدم limit , offset برای چی هستن
    اما من اینطور نوشتم و به مشکل بر خوردم
    کد PHP:
    $this->db->where('file_user_name',$this->session->userdata('user_name')); 
    و در controller
    کد PHP:
        if($this->file_user_name_model->myuser_name('film_upload')==$this->session->userdata('user_name') )
            {
                
    $data['title']='yes film';
            
                
    $this->load->view('view/film_detail',$data);
            } 
    اما اشتباهه
    __________________________________________________________________________
    welcome to the club
    (آخرین ویرایش در این ارسال: ۱۳۸۸ دي ۲۰ ۱۱:۳۰ عصر، توسط scooter.)
    ۱۳۸۸ دي ۲۰ ۱۱:۲۹ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    hidensoft آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,384
    تاریخ عضویت: ۱۳۸۸ شهريور ۳
    اعتبار: 46
    تشکرها : 729
    ( 1394 تشکر در 782 ارسال )
    ارسال: #4
    RE: set کردن نام کاربری با session در codeigniter
    زمانی که یک یوزر لوگین کرد
    کد PHP:
    $newdata = array(
                       
    'username'  => 'johndoe',
                       
    'email'     => 'johndoe@some-site.com',
                       
    'logged_in' => TRUE
                   
    );

    $this->session->set_userdata($newdata); 

    بعد از اون در کنترل

    کد PHP:
    $CurrentUsername $this->session->userdata('username'); 
    حالا username رو داری و هر کاری که خواستی می تونی انجم بدی
    ببین یوزرنیم درسته یا نه ، اگه بود می تونی یه متغیر به VIEW بفرستی که کاربر لوگین کرده
    مثلا در ادامه کنترلر می نویسی
    کد PHP:
    $data = array(
                  
    'isValidUser'=>true
              
    );
    $this->load->view('MYVIEW'$data); 

    در VIEW هم
    کد PHP:
    <html>
    <
    head>
    <
    title>test</title>
    </
    head>
    <
    body>
    <?
    php if(isset($isValidUser) && $isValidUser==true){ ?>
        <h1>This is Secret</h1>
    <?php ?>
    </body>
    </html> 
    (آخرین ویرایش در این ارسال: ۱۳۸۸ دي ۲۱ ۱۲:۲۴ صبح، توسط hidensoft.)
    ۱۳۸۸ دي ۲۱ ۱۲:۲۱ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : scooter
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #5
    RE: set کردن نام کاربری با session در codeigniter
    سلام و ممنون
    این امنه؟
    یعنی نیاز نیست ما توی model نام کاربری توی db رو با userdata('username'); مقایسه کنیم و اگر برابر بود اجازه دسترسی بدیم؟
    __________________________________________________________________________
    welcome to the club
    ۱۳۸۸ دي ۲۱ ۰۲:۱۴ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    hidensoft آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,384
    تاریخ عضویت: ۱۳۸۸ شهريور ۳
    اعتبار: 46
    تشکرها : 729
    ( 1394 تشکر در 782 ارسال )
    ارسال: #6
    RE: set کردن نام کاربری با session در codeigniter
    وقتی اسم سشن یا کوکی میاد وسط شما باید به این موضوع یعنی امنیت اهمیت بیشتری بدید. این یه مثال بود. من یشنهاد می کنم از طریق توابعی نظیر mcrypt اطلاعات رو بصورت کد شده درون سشن یا کوکی ذخیره کنید. در مورد این که ببینی یوزر نیم درست هست یا نه می تونی توی مودل خودت یه تابع به نام checkUsername قرار بدی و سپس هر زمان که نیاز داشتی ببینی username صحیح هست از این تابع برای فهمیدن این موضوع استفاده کنید. اما من فکر می کنم بهتره نام کاربری رو به تنهایی قرار ندید. چرا که اگه اطلاعات کد نشه ، یه یوزر خیلی راحت می تونه با دستکاری سشن خودش رو به عنوان یه کاربر دیگه معرفی کنه. می تونید بصورت رندم برای هر کار بر یه کلید در نظر بگیرید. وقتی کاربر لوگین می کنه این کلید تغییر می کنه و در کنار یوزر نیم قرار می گیره اما بصورت MD5 یا SHA1 . حالا شما هر جا خواستید ببینید این یوزر واقعا لوگین کرده یا نه می تونید بر برسی کنید که نام کاربری وجود داره و اگر داشت آیا MD5 کلید برابر با MD5 کلید موجود در دیتابیس ( که مطعلق به همین نام کاربری هست ) هست یا خیر.
    ۱۳۸۸ دي ۲۱ ۱۱:۳۲ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #7
    RE: set کردن نام کاربری با session در codeigniter
    سلام و ممنون از جوابتون مشکل من هم همین هست .من نمیدونم این کد دقیقا چه جوری نوشته میشه. من الان دو ماهه دارم به این سیستم ور میرم
    __________________________________________________________________________
    welcome to the club
    ۱۳۸۸ دي ۲۲ ۱۰:۲۳ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #8
    RE: set کردن نام کاربری با session در codeigniter
    سلام
    باور کن این پستت رو من 100 بار بیشتر خوندم(پرینت گرفتم و زدم جلوی چشمم)
    ولی نمی دونم چطور باید اطلاعات درون sess رو رمز نگاری کرد که نشه ازش سو استفاده بشه
    (۱۳۸۸ دي ۲۱ ۱۱:۳۲ صبح)hidensfot نوشته شده توسط:  وقتی اسم سشن یا کوکی میاد وسط شما باید به این موضوع یعنی امنیت اهمیت بیشتری بدید. این یه مثال بود. من یشنهاد می کنم از طریق توابعی نظیر mcrypt اطلاعات رو بصورت کد شده درون سشن یا کوکی ذخیره کنید. در مورد این که ببینی یوزر نیم درست هست یا نه می تونی توی مودل خودت یه تابع به نام checkUsername قرار بدی و سپس هر زمان که نیاز داشتی ببینی username صحیح هست از این تابع برای فهمیدن این موضوع استفاده کنید. اما من فکر می کنم بهتره نام کاربری رو به تنهایی قرار ندید. چرا که اگه اطلاعات کد نشه ، یه یوزر خیلی راحت می تونه با دستکاری سشن خودش رو به عنوان یه کاربر دیگه معرفی کنه. می تونید بصورت رندم برای هر کار بر یه کلید در نظر بگیرید. وقتی کاربر لوگین می کنه این کلید تغییر می کنه و در کنار یوزر نیم قرار می گیره اما بصورت MD5 یا SHA1 . حالا شما هر جا خواستید ببینید این یوزر واقعا لوگین کرده یا نه می تونید بر برسی کنید که نام کاربری وجود داره و اگر داشت آیا MD5 کلید برابر با MD5 کلید موجود در دیتابیس ( که مطعلق به همین نام کاربری هست ) هست یا خیر.
    سلام
    باور کن این پستت رو من 100 بار بیشتر خوندم(پرینت گرفتم و زدم جلوی چشمم)
    ولی نمی دونم چطور باید اطلاعات درون sess رو رمز نگاری کرد که نشه ازش سو استفاده بشه
    __________________________________________________________________________
    welcome to the club
    (آخرین ویرایش در این ارسال: ۱۳۸۸ بهمن ۲۵ ۰۱:۱۹ صبح، توسط scooter.)
    ۱۳۸۸ بهمن ۲۵ ۰۱:۱۸ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    hidensoft آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,384
    تاریخ عضویت: ۱۳۸۸ شهريور ۳
    اعتبار: 46
    تشکرها : 729
    ( 1394 تشکر در 782 ارسال )
    ارسال: #9
    RE: set کردن نام کاربری با session در codeigniter
    جای این صد بار یک بار منوال PHP رو کامل می خوندی یا حد اقل منوال خود کدایگنیتر رو
    http://codeigniter.com/user_guide/librar...ption.html
    http://ir.php.net/manual/en/book.mcrypt.php
    http://ir.php.net/manual/en/function.base64-decode.php
    http://ir.php.net/manual/en/function.base64-encode.php
    ۱۳۸۸ بهمن ۲۶ ۱۲:۰۰ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : scooter
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #10
    RE: set کردن نام کاربری با session در codeigniter
    سلام ممنونم از جوابتون .
    به خدا این رو هم 100 بار خوندم.ولی نمیدونم چه جوری تو سشن ها ازش استفاده بکنم
    ممنونم
    __________________________________________________________________________
    welcome to the club
    ۱۳۸۸ بهمن ۲۶ ۰۱:۲۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

  • صفحه‌ها (2):
  • ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS