راکت
Paradox
Paradox
توسط 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
@hosseinshirinegad985 سال پیشمطرح شد
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
@hosseinshirinegad985 سال پیشمطرح شد
0

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

request()->ip()

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

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


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

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

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

Paradox
Paradox
تخصص :در حال یادگیری
@paradox5 سال پیشمطرح شد
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
@hosseinshirinegad985 سال پیشمطرح شد
0

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


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

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


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

@hosseinshirinegad98


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

حسین شیری نژاد
حسین شیری نژاد
تخصص :programmer
@hosseinshirinegad985 سال پیشمطرح شد
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
تخصص :در حال یادگیری
@paradox5 سال پیشمطرح شد
0

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

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


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

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


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

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


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

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


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

@hosseinshirinegad98

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


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

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


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

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