راکت
حل شده

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

15 پاسخ

سلام وقت بخیر
من کد زیر برای ثبت 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();
Paradox
Paradox
@paradox
ثبت پرسش جدید

پاسخ‌ها

15
حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

بهترین پاسخ

شما قبل اینکه آپی کاربو سیو کنی 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);
}
حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

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

request()->ip()
محمدرضا قمی اویلی
محمدرضا قمی اویلی
@ghomi

تخصص: لاراول

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

شاید پاسخ شما همین‌جا باشد

محسن مهری
محسن مهری
@mohsen.mehri6101

تخصص: برنامه نویس back-end با زبان php framework laravel

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

 = $request->header('User-Agent')
Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@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')
        ]);
    }
حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

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

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

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

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@hosseinshirinegad98


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

تخصص: در حال یادگیری

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

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

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

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

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

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

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

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

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@hosseinshirinegad98

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

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

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

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

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