Paradox
3 سال پیش توسط Paradox مطرح شد
15 پاسخ

ثبت ip کاربر موقع ثبت نام

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

لاگین کنترلر

  protected function authenticated(Request $request, $user)
    {
        return $this->loggendin($request , $user);
        // if ($user->status != 0) {
        //     Auth()->logout();
        //     return redirect('/');
        // }

        $user->update([
            'last_login_at' => Carbon::now()->toDateTimeString(),
            'last_login_ip' => $request->getClientIp()
        ]);
    }
    protected $fillable = [
        'name', 'email', 'password','two_factor_type' , 'phone_number' , 'is_superuser' , 'is_staff' , 'status' , 'last_login_at','last_login_ip',
    ];
 $table->datetime('last_login_at')->nullable();
            $table->string('last_login_ip')->nullable();

ثبت پرسش جدید
حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

شما قبل اینکه آپی کاربو سیو کنی return کردی

   protected function authenticated(Request $request, $user)
    {
        return $this->loggendin($request , $user);

        if ($user->status != 0) {
            Auth()->logout();
            return redirect('/');
        }

        $user->update([
            'last_login_at' => Carbon::now()->toDateTimeString(),
            'last_login_ip' => $request->header('User-Agent')
        ]);
    }

ببین در این متد شما قبل سیو آپی از متد بیرون اومدی پس مشخصا به دستور ذخیره آپی نمیرسه که آپی رو ذخیره بکنه. اون کد باید یه جوری برداشته بشه.
انیطوری بنویسش

protected function authenticated(Request $request, $user)
{
    if ($user->status == 0) {
        Auth()->logout();
        return redirect('/');
    }

    $user->update([
        'last_login_at' => Carbon::now()->toDateTimeString(),
        'last_login_ip' => $request->ip()
    ]);

    return $this->loggendin($request , $user);
}

حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

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

request()->ip()

محمدرضا قمی اویلی
تخصص : لاراول
@ghomi 3 سال پیش مطرح شد
0

چرا میخوای ip کاربر ذخیره کنی؟


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 3 سال پیش مطرح شد
0

سلام راهنمایی این دوستمون (@hosseinshirinegad98 ) کاملا درسته میده ip رو .ولی بهتون پیشنهاد میکنم اگه میخای برای مبحث امنیتی سایت کاری بکنی کلا بهتره که ip همراه با اطلاعات دستگاه یا سیستم عاملش رو ذخیره کنی.
اگه هم میخای اطلاعات اماری ثبت کنی (‌امار بازدید سایت) همین ip که ثبت میکنی کافیه
اما برای هر نوع استفاده ای میخای همچین جالب نیست داری توی جدول کاربر ذخیره میکنی. مگه کاربر با یک دستگاه وارد سایت میشه؟ شاید با گوشی یا چند تا سیستم وارد بشه.اینم کدی که اطلاعات سیستم عامل و اطلاعات نوع نرم افزاری که باهاش وب سایت رو اورده بالا نشون میده

 = $request->header('User-Agent')

Paradox
تخصص : در حال یادگیری
@paradox 3 سال پیش مطرح شد
0

@hosseinshirinegad98
@mohsen.mehri6101

ممنونم ازتون من هر دو مورد فرمودید قرار دادم ولی توی دیتابیس ip ذخیره نشد
امکان داره چون رو هاست نیستم و روی لوکال هستم چیزی ثبت نمیکنه؟

    protected function authenticated(Request $request, $user)
    {
        return $this->loggendin($request , $user);

        if ($user->status != 0) {
            Auth()->logout();
            return redirect('/');
        }

        $user->update([
            'last_login_at' => Carbon::now()->toDateTimeString(),
            'last_login_ip' => $request->header('User-Agent')
        ]);
    }

حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

باید ثبت بکنه اون تکه کدو اینجا بیار.


Paradox
تخصص : در حال یادگیری
@paradox 3 سال پیش مطرح شد
حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

همون جا که ip کاربرو میگیری و ذخیرش میکنی.


Paradox
تخصص : در حال یادگیری
@paradox 3 سال پیش مطرح شد
0

@hosseinshirinegad98


        $user->update([
            'last_login_at' => Carbon::now()->toDateTimeString(),
            'last_login_ip' =>request()->ip(),
        ]);

حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

شما قبل اینکه آپی کاربو سیو کنی return کردی

   protected function authenticated(Request $request, $user)
    {
        return $this->loggendin($request , $user);

        if ($user->status != 0) {
            Auth()->logout();
            return redirect('/');
        }

        $user->update([
            'last_login_at' => Carbon::now()->toDateTimeString(),
            'last_login_ip' => $request->header('User-Agent')
        ]);
    }

ببین در این متد شما قبل سیو آپی از متد بیرون اومدی پس مشخصا به دستور ذخیره آپی نمیرسه که آپی رو ذخیره بکنه. اون کد باید یه جوری برداشته بشه.
انیطوری بنویسش

protected function authenticated(Request $request, $user)
{
    if ($user->status == 0) {
        Auth()->logout();
        return redirect('/');
    }

    $user->update([
        'last_login_at' => Carbon::now()->toDateTimeString(),
        'last_login_ip' => $request->ip()
    ]);

    return $this->loggendin($request , $user);
}

Paradox
تخصص : در حال یادگیری
@paradox 3 سال پیش مطرح شد
0

@hosseinshirinegad98
خیلی خیلی ممنونم ازتون
بله کاملا درسته

موقع ثبت نام هم نیاز هست ip ثبت بشه ؟
یا فقط لاگین کفایت میکنه؟


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

برای لاگین این کار خوبه اما برای رجیستر هر طور که مایلی. البته برای ارسال کامنت آپی رو سیو میکنن.


Paradox
تخصص : در حال یادگیری
@paradox 3 سال پیش مطرح شد
1

@hosseinshirinegad98
بازم ممنونم از وقتی که گذاشتید


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

خواهش میکنم مسدود کردن کاربرت اوکی شد؟


Paradox
تخصص : در حال یادگیری
@paradox 3 سال پیش مطرح شد
1

@hosseinshirinegad98

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


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

پوشه vendor نمیخواد برام بفرستی


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام