امیر علی
3 سال پیش توسط امیر علی مطرح شد
9 پاسخ

نحوه بررسی لوگین بودن کاربر

با سلام من صفحه لوگین رو کامل کردم فقط میخواستم بدونم چطور میشه چک کنم کاربر لوگین هستش؟


ثبت پرسش جدید
میلاد هدایت پور
تخصص : در حال پیشرفت
@miladparsi1070 3 سال پیش آپدیت شد
0

فرض بر اینه که شما با لاراول کار میکنید!!!!
اینطوری میتونید لاگین بودن کاربر رو چک کنید:

Auth::check()

و اینطوری میتونید اطلاعات کاربر لاگین رو بگیرید:

Auth::user()

فرشید مرادی
تخصص : noob
@eniack 3 سال پیش آپدیت شد
0

سلام ، اگر با php خام نوشتید و از فریم ورک استفاده نکردید ، بستگی به نوع کد زدتون داره من مثلا یک سشن یوزر ست میکنم و داخل جدول users اضافه میکنم و واسه اینکه چک کنم ببینم لاگینه یانه
دو شرط چک میشه اول اینک اصلا سشنی استارت شده منظورم سشن یوزر هست ؟ و اگر استارت شده آیا داخل جدولusers هست؟ اگر هست چون سشن یکتا هست و فقط منحصر به یک یوزره بله لاگین هست


سهیل ملکی
تخصص : کارآموز برنامه نویسی
@soheilsmg 3 سال پیش مطرح شد
0

سلام
من برای بررسی لاگین کاربر هام از سشن استفاده میکنم و وقتی وارد میشه چک میکنه آیا نام کاربری شخص در جدول کاربران هست یا نه اگه بود که هیچی اگه نبود لاگین نیستش و حالا هر کار دیگه ای که بخواین میتونید انجام بدین.


امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش مطرح شد
0

@miladparsi1070
خیر پی اچ پی خام هستش


امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش مطرح شد
0

@eniack @kuroshparsi11228 @hesammousavi
با عرض سلام خدمت دوستان گرامی من خودم مدنظرم این هست که در همون جدولی که نام یوزر و پسوردش هست یه مقدار بولین بزارم و اگر لوگین کرد اون رو ترو کنم و مقدار دیفالت رو فالس بزارم منتها دوتا مشکل دارم
۱-چجوری این سشن رو زمان دار کنم ؟
۲- خب اینجا چجوری باید تشخیص بدم که کاربر همون کاربریه که لوگین کرده چون وقتی مقدارش ترو بشه بقیه هم که صفحه رو رفرش کنن براشون ترو هست فک کنم بشه با بررسی ای پی و مطابقت داشتن اون بشه این کار رو کرد اگر میشه یه راهنمایی در این زمینه کنین تشکر


فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
0

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


امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش مطرح شد
0

@eniack خب روشش چجوری هست؟


فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
0

ببینید سناریو اینه
شما موقع لاگین اگر پسورد و نام کاربری صحیح بود یک سشن با حروف تصادفی ست میکنی واسش و داخل دیتابیس ذخیره میکنی اینجوری

$token = hash("sha256", $name->username . "#" . $name->password . date("YmdHis") . "3pu4098eygriuio43y8");

                                    $stmt = $pdo_panel->prepare("UPDATE users SET token = :token WHERE id = :id");
                                    $stmt->bindParam(":token", $token);
                                    $stmt->bindParam(":id", $name->id);
                                    if ($stmt->execute()) {
                                        if ($stmt->rowCount() == 1) {
                                            $_SESSION["token"] = $token;
                                        }
                                    }

بعد واسه چک کردن اینک آیا کسی لاگینه میای چک میکنی که ایا سشنی با اسم token ست شده؟اگر ست شده آیا داخل دیتابیس هست؟
اگر هست نام کاربریشو بردار

$token = $_SESSION["token"]
if (isset($_SESSION["token"])) {
    $stmt = $pdo_panel->prepare("SELECT * FROM users WHERE token = :token");
    $stmt->bindParam(":token", $token);
    if ($stmt->execute()) {
        if ($stmt->rowCount() == 1) {
            $user = $stmt->fetch(PDO::FETCH_OBJ);
            $name = htmlspecialchars($user->username);
        }
    }
}

سهیل ملکی
تخصص : کارآموز برنامه نویسی
@soheilsmg 3 سال پیش مطرح شد
0

@ajdar9667

دوست عزیز این کار استاندارد نیست شما باید از کوکی یا سشن استفاده کنید که سشن وقتی مرورگر بسته بشه خودش حذف میشه ولی اگه میخواین از سمت سرور متوجه بشین که کدوم کاربر ها لاگین هستن میتونید یه گزینه به جدول کاربران اضافه کنید که میگه کاربر لاگین هست یا نیست که خب اگه با سشن انجام بدین و کاربر مرورگر رو ببنده دیگه نمیشه متوجه شد که لاگین نیست مگه اینکه سوکت نویسی استفاده کنید البته اگه گزینه خروج از حساب رو بذارید کاربر که خارج بشه سشن حذف میشه و اون گزینه توی جدول هم تغییر میکنه که برای این بهتره از کوکی استفاده کنید که خیلی بهتره .


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

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