ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingป้องกันการ back กลับ หลังจาก login, logout ออกไปแล้ว ทำอย่างไรบ้างครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ป้องกันการ back กลับ หลังจาก login, logout ออกไปแล้ว ทำอย่างไรบ้างครับ  (อ่าน 1742 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
TEEST
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« เมื่อ: 11 พฤศจิกายน 2021, 17:06:50 »

อ้างถึง
ป้องกันการ back กลับ หลังจาก login, logout ออกไปแล้ว ทำอย่างไรบ้างครับ

1.เมื่อ login สำเร็จ ไปยังหน้าที่ต้องการ แต่พอเวลากด back กลับมายังหน้า login ครับ ไม่อย่าให้สามารถกด back กลับไปได้ครับ
บันทึกการเข้า
suriyan2538
ก๊วนเสียว
*

พลังน้ำใจ: 9
ออฟไลน์ ออฟไลน์

กระทู้: 285



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 11 พฤศจิกายน 2021, 22:26:59 »

สงสัยเหมือนกันครับ คิดว่าน่าจะต้องมีโค้ดบางอย่าง

ของผมเวลาสมาชิกล็อกอินไปแล้ว พอกด Back กลับมา กลายเป็นยังไม่ได้เข้าระบบซะงั้น เพราะติดแคชของหน้า สมาชิกจะต้องกดโหลดหน้าใหม่ ถึงจะมองไม่เห็นเมนูล็อกอิน
บันทึกการเข้า

TEEST
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« ตอบ #2 เมื่อ: 12 พฤศจิกายน 2021, 13:29:35 »

สงสัยเหมือนกันครับ คิดว่าน่าจะต้องมีโค้ดบางอย่าง

ของผมเวลาสมาชิกล็อกอินไปแล้ว พอกด Back กลับมา กลายเป็นยังไม่ได้เข้าระบบซะงั้น เพราะติดแคชของหน้า สมาชิกจะต้องกดโหลดหน้าใหม่ ถึงจะมองไม่เห็นเมนูล็อกอิน

ศึกษา code หลายๆตัว ไม่มีบ่งบอกว่า จุดนี้ จุดนั้น ห้าม back ครับ
บันทึกการเข้า
ouidesignweb
สมุนแก๊งเสียว
*

พลังน้ำใจ: 36
ออฟไลน์ ออฟไลน์

กระทู้: 712



ดูรายละเอียด
« ตอบ #3 เมื่อ: 12 พฤศจิกายน 2021, 13:35:34 »

สงสัยเหมือนกันครับ คิดว่าน่าจะต้องมีโค้ดบางอย่าง

ของผมเวลาสมาชิกล็อกอินไปแล้ว พอกด Back กลับมา กลายเป็นยังไม่ได้เข้าระบบซะงั้น เพราะติดแคชของหน้า สมาชิกจะต้องกดโหลดหน้าใหม่ ถึงจะมองไม่เห็นเมนูล็อกอิน

ศึกษา code หลายๆตัว ไม่มีบ่งบอกว่า จุดนี้ จุดนั้น ห้าม back ครับ

ระบบสมาชิกเมื่อเข้าสู่ระบบแล้ว จะมีการเก็บ session ไว้ และใน session จะเก็บ ID สมาชิก
ส่วนใหญ่ผมจะเขียนเช็คที่หน้า login หากมี  session ID สมาชิก ผมจะให้มัน redirect ไปที่หน้าแรกของระบบสมาชิกครับ
บันทึกการเข้า
TEEST
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« ตอบ #4 เมื่อ: 12 พฤศจิกายน 2021, 15:46:51 »

สงสัยเหมือนกันครับ คิดว่าน่าจะต้องมีโค้ดบางอย่าง

ของผมเวลาสมาชิกล็อกอินไปแล้ว พอกด Back กลับมา กลายเป็นยังไม่ได้เข้าระบบซะงั้น เพราะติดแคชของหน้า สมาชิกจะต้องกดโหลดหน้าใหม่ ถึงจะมองไม่เห็นเมนูล็อกอิน

ศึกษา code หลายๆตัว ไม่มีบ่งบอกว่า จุดนี้ จุดนั้น ห้าม back ครับ

ระบบสมาชิกเมื่อเข้าสู่ระบบแล้ว จะมีการเก็บ session ไว้ และใน session จะเก็บ ID สมาชิก
ส่วนใหญ่ผมจะเขียนเช็คที่หน้า login หากมี  session ID สมาชิก ผมจะให้มัน redirect ไปที่หน้าแรกของระบบสมาชิกครับ

ขอ example ด้วยครับ อยากรู้วิธีครับ ติดมาหลายวันครับ
code login
โค๊ด:
<?php
    
    
require_once('database/connection.php'); 
    
    if (isset(
$_POST['submit'])) { 

        
$username =  $conn->real_escape_string($_POST['username']);
        
$password $conn->real_escape_string($_POST['password']);
        
date_default_timezone_set('Asia/Bangkok');
        
$Newtime date('Y-m-d H:i:s');
        
$Newtime1 date('Y-m-d H:i:s');

        
$sql "SELECT * FROM `user` WHERE `username` = '".$username."'";
        
$result $conn->query($sql);
        
$row $result->fetch_assoc();

        if(!empty(
$row)){
            if(
password_verify($password$row['password'])){
                
$update "UPDATE `user` SET updated_at = '$Newtime', updated_dt = '$Newtime1'
                 WHERE `username` = '
$username'";
                
$runupdate $conn->query($update);

                
$_SESSION['id'] = $row['id'];
                
$_SESSION['firstname'] = $row['firstname'];
                
$_SESSION['lastname'] = $row['lastname'];
                
$_SESSION['username'] = $row['username'];
                
$_SESSION['password'] = $row['password'];
                
$_SESSION['image'] = $row['image'];
                
$_SESSION['created_at'] = $row['created_at'];
                
$_SESSION['updated_at'] = $Newtime;
                
$_SESSION['updated_dt'] = $Newtime1;
                
$_SESSION['status'] = $row['status'];

                
session_write_close();
               
                 if (
$_SESSION['status'] == 'admin') {
                    echo 
"<script>alert('เข้าสู่ระบบสำเร็จ...'); window.location ='../cmssystem/pages/admin/dashboard/';</script>";
                }
    
                if (
$_SESSION['status'] == 'member') {
                    echo 
"<script>alert('เข้าสู่ระบบสำเร็จ...'); window.location ='../cmssystem/pages/users/dashboard/';</script>";
                    
                }

            } else {
                echo 
'<script> alert("username หรือ password ไม่ถูกต้อง") </script>';
                
header('Refresh:0; url=index.php');
            }
        }else{

            echo 
'<script> alert("ไม่สามารถเข้าสู่ระบบได้โปรดกรอกข้อมูลใหม่อีกครั้ง")</script>';
            
header("Refresh:0");
        } 
    }
?>

บันทึกการเข้า
TEEST
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« ตอบ #5 เมื่อ: 17 พฤศจิกายน 2021, 15:11:51 »

update นิดหน่อยครับ เผื่อท่านอื่นต้องการป้องกัน back กลับ
จบด้วย unset($_SESSION['example']); ครับ

Code (login)
unset($_SESSION['example']);

Code (pages admin or member)
$example = isset($_SESSION['example']) ? $_SESSION['example'] : '';
   if($example != "admin") //pages member เปลี่ยนจาก admin เป็น member ครับ
   {
       header('location:ilogin.php');
       exit();
   }

บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์