sách gpt4 ăn đã đi

Phân tích phương pháp php nhận biết các tài khoản không thể đăng nhập cùng lúc [Khi đăng nhập từ nơi khác, tài khoản hiện tại sẽ không hợp lệ]

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 31 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài blog CFSDN này phân tích phương pháp php nhận biết các tài khoản không thể đăng nhập cùng lúc [Khi đăng nhập từ nơi khác, tài khoản hiện tại trở nên không hợp lệ] được tác giả sưu tầm và biên soạn nếu bạn quan tâm đến bài viết này. các bạn nhớ like nhé.

Ví dụ trong bài viết này mô tả cách sử dụng PHP để ngăn chặn việc đăng nhập các tài khoản cùng một lúc. Share cho mọi người tham khảo nhé, chi tiết như sau:

Giải pháp là mỗi khi người dùng đăng nhập, chúng tôi phải ghi lại ID người dùng hiện tại và session_id. Nếu ai đó đăng nhập bằng tài khoản này ở nơi khác, chúng tôi sẽ xóa tệp session của session_id tương ứng với ID người dùng và ghi lại session_id hiện tại. . Khi đó người dùng trước sẽ không hợp lệ.

Mã login.php như sau:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
phiên_bắt_đầu();
 
yêu cầu 'db.php' ;
 
nếu như (! trống ( $_POST [ 'nộp' ])) {
   $uname = ! trống ( $_POST [ 'tên' ]) ? cắt( $_POST [ 'tên' ]): '' ;
   $lên = ! trống ( $_POST [ 'lên' ]) ? cắt( $_POST [ 'lên' ]): '' ;
 
   // Đây chỉ là minh họa, tình hình thực tế là truy vấn và phán đoán trong cơ sở dữ liệu
   nếu như ( $uname == 'Bài kiểm tra' && $lên == 'Bài kiểm tra' ) {
     // Ở đây giả định rằng id người dùng thử nghiệm là 1
     $uid = 1;
     $phiên_mã_phiên = id_phiên();
     
     //Xác định xem đã có người dùng đăng nhập chưa
     $res = truy vấn mysql( "CHỌN session_id TỪ tb_login_state NƠI uid={$uid}" );
     $dữ liệu = mysql_fetch_assoc( $res );
     nếu như (! trống ( $dữ liệu )) {
       $sessionId = $dữ liệu [ 'phiên_id' ];
       $sessionFilePath = session_save_path() . PHÂN_GIẢI_THƯ MỤC . 'phiên_' . $sessionId ;
 
       // Xóa tệp phiên của lần đăng nhập cuối cùng của người dùng
       nếu như ( file_tồn tại ( $sessionFilePath ) && có thể ghi được ( $sessionFilePath )) {
         @bỏ liên kết( $sessionFilePath );
       }
       //Xóa thông tin đăng nhập của người dùng
       truy vấn mysql "XÓA TỪ tb_login_state NƠI uid={$uid}" );
     }
     //Thêm thông tin đăng nhập người dùng mới
     truy vấn mysql "CHÈN VÀO tb_login_state GIÁ TRỊ({$uid}, '{$session_id}')" );
 
     $_PHIÊN [ 'Thông tin người dùng' ] = mảng (
       'tên' => $uname
     );
     tiếng vọng '' ;
     tiếng vọng '' ;
   }
}
?>
<> "zh-CN" >
<đầu>
   "UTF-8" >
   Trang đăng nhập của người dùng
   "" phương pháp= "bưu kiện" >
     Tên người dùng: "chữ" tên= "không có tên" giá trị= "" />
     Mật khẩu: "mật khẩu" tên= "lên" giá trị= "" />
     "nộp" tên= "nộp" giá trị= "Đăng nhập" />
  
Xem sitemap của VNExpress

Mã index.php như sau:

?
1
2
3
4
5
6
7
8
9
tiêu đề( 'Kiểu nội dung:text/html;charset=utf-8' );
phiên_bắt_đầu();
 
nếu như (! trống ( $_PHIÊN [ 'Thông tin người dùng' ])) {
   tiếng vọng 'Xin chào:' , $_PHIÊN [ 'Thông tin người dùng' ][ 'tên' ];
} khác {
   tiêu đề( 'Vị trí:login.php' );
}

Mã db.php như sau:

?
1
2
3
4
$db = mysql_connect( '127.0.0.1' , 'gốc' , '' ) hoặc cái ( 'lỗi kết nối' );
Chọn lệnh mysql_select_db 'Bài kiểm tra' ) hoặc cái ( 'lỗi chọn db' );
truy vấn mysql 'đặt tên utf8' ) hoặc cái ( 'lỗi đặt tên' );

Cấu trúc bảng tb_login_state như sau:

?
1
2
3
4
TẠO NÊN BÀN `tb_login_state` (
`chất lỏng` số nguyên (11) chưa ký KHÔNG VÔ GIÁ TRỊ BÌNH LUẬN 'ID người dùng' ,
`phiên_id` varchar (32) KHÔNG VÔ GIÁ TRỊ MẶC ĐỊNH '' BÌNH LUẬN 'session_id của người dùng bộ nhớ'
) ĐỘNG CƠ=InnoDB MẶC ĐỊNH CHARSET=utf8 BÌNH LUẬN= 'Bảng trạng thái đăng nhập của người dùng' ;

Nếu phương thức lưu trữ phiên không phải là một tệp mà được lưu trữ trong mysql, memcache hoặc redis thì ý tưởng thực sự giống nhau, cả hai đều lưu session_id trước đó. Xác định xem người dùng đã đăng nhập hay chưa và nếu có, hãy vô hiệu hóa phiên cuối cùng (xóa dữ liệu phiên).

(*Không nhất thiết phải vô hiệu hóa phiên bằng cách đặt thời gian hết hạn phiên và thời gian hết hạn cookie. Phương pháp trực tiếp nhất là xóa trực tiếp tệp phiên.).

Đề nghị đọc:

http://www.laruence.com/2012/01/10/2469.html 。

Tôi hy vọng bài viết này sẽ hữu ích cho mọi người trong việc lập trình PHP.

Liên kết gốc: https://www.cnblogs.com/jkko123/p/6294608.html.

Cuối cùng, bài viết phân tích phương pháp của PHP để nhận ra rằng các tài khoản không thể đăng nhập cùng lúc [khi đăng nhập từ nơi khác, tài khoản hiện tại sẽ không hợp lệ] ở đây nếu bạn muốn biết thêm về phân tích của PHP. phương pháp nhận biết các tài khoản không thể đăng nhập cùng lúc [khi đăng nhập từ nơi khác] Khi đăng nhập từ nơi khác, tài khoản hiện tại sẽ không hợp lệ] Vui lòng tìm kiếm các bài viết về CFSDN hoặc tiếp tục duyệt các bài viết liên quan. sẽ ủng hộ blog của tôi trong tương lai! .

31 4 0
Đề xuất bài viết: Lý do và ưu điểm của Python phù hợp với trí tuệ nhân tạo
Đề xuất bài viết: Giải thích chi tiết về C++ tìm tổng của hai số và trả về chỉ số dưới
Đề xuất bài viết: Cách sử dụng hàm và kỹ thuật vẽ Python
Đề xuất bài viết: Phân tích các ví dụ vấn đề khi sử dụng biến tĩnh trong hàm PHP
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Các bài viết phổ biến trên toàn bộ trang web
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com