PDA

View Full Version : help session_start trong php



chip2014
10-03-18, 01:50 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

maxtest
10-03-18, 02:43 PM
Ib mình nhé, mình hỗ trợ tận tình !!!!!

chip2014
10-03-18, 02:55 PM
Ib mình nhé, mình hỗ trợ tận tình !!!!!

đã ib :( helppppppppppppp
30 charrrrrrrrrrrrrrrrrrrrrrr

nh0xIskate
10-03-18, 11:36 PM
<?php
error_reporting(E_ALL & ~E_NOTICE);
include_once '../config/xss_clean.php';
$username = strtolower(trim($_POST['username']));
$password = trim($_POST['password']);
$ip = $_SERVER['REMOTE_ADDR'];
if (function_exists('xss_clean')) {
$username = xss_clean($username);
$password = xss_clean($password);
}
$json = array();

if (hasSC(array(
$username,
$password
))) {
$json['status'] = false;
$json['msg'] = 'Vui lòng không nhập ký tự đặc biệt!';
echo json_encode($json);
exit;
}

if (empty($username) || empty($password)) {
$json['status'] = false;
$json['msg'] = 'Tên đăng nhập hoặc mật khẩu không thể bỏ trống!';
} else {
include_once '../config/connect.php';
$hashPassword = sha1($password);
$result = $dbh->query("SELECT `id`, `status` FROM `user` WHERE `username` = '{$username}' AND `password` = '{$hashPassword}' LIMIT 1")->fetch();
if ($result !== false) {
if ($result['status'] == '1') {
$json['status'] = true;
session_start();
$_SESSION['login'] = true;
$_SESSION['username'] = $username;
$_SESSION['login_type'] = 'original';
date_default_timezone_set('Asia/Ho_Chi_Minh');
$dbh->prepare("UPDATE `user` SET `login_at` = ? WHERE `username` = '{$username}'")->execute(array(
date('Y-m-d H:i:s')
));
} else {
$json['status'] = false;
$json['msg'] = 'Tài khoản này đã bị khóa!';
}
} else {
$json['status'] = false;
$json['msg'] = 'Đăng nhập thất bại!';
}
}
echo json_encode($json);

?>
Đây là code xử lý đăng nhập mình đang xài...
Khúc lưu session thì chỉ như này là đc à :3
session_start();
$_SESSION['login'] = true;
$_SESSION['username'] = $username;

chip2014
11-03-18, 02:50 AM
<?php
error_reporting(E_ALL & ~E_NOTICE);
include_once '../config/xss_clean.php';
$username = strtolower(trim($_POST['username']));
$password = trim($_POST['password']);
$ip = $_SERVER['REMOTE_ADDR'];
if (function_exists('xss_clean')) {
$username = xss_clean($username);
$password = xss_clean($password);
}
$json = array();

if (hasSC(array(
$username,
$password
))) {
$json['status'] = false;
$json['msg'] = 'Vui lòng không nhập ký tự đặc biệt!';
echo json_encode($json);
exit;
}

if (empty($username) || empty($password)) {
$json['status'] = false;
$json['msg'] = 'Tên đăng nhập hoặc mật khẩu không thể bỏ trống!';
} else {
include_once '../config/connect.php';
$hashPassword = sha1($password);
$result = $dbh->query("SELECT `id`, `status` FROM `user` WHERE `username` = '{$username}' AND `password` = '{$hashPassword}' LIMIT 1")->fetch();
if ($result !== false) {
if ($result['status'] == '1') {
$json['status'] = true;
session_start();
$_SESSION['login'] = true;
$_SESSION['username'] = $username;
$_SESSION['login_type'] = 'original';
date_default_timezone_set('Asia/Ho_Chi_Minh');
$dbh->prepare("UPDATE `user` SET `login_at` = ? WHERE `username` = '{$username}'")->execute(array(
date('Y-m-d H:i:s')
));
} else {
$json['status'] = false;
$json['msg'] = 'Tài khoản này đã bị khóa!';
}
} else {
$json['status'] = false;
$json['msg'] = 'Đăng nhập thất bại!';
}
}
echo json_encode($json);

?>
Đây là code xử lý đăng nhập mình đang xài...
Khúc lưu session thì chỉ như này là đc à :3
session_start();
$_SESSION['login'] = true;
$_SESSION['username'] = $username;

Có bị lỗi thằng a đăng nhập tự dưng vào tk thăng b hông ^^

chip2014
11-03-18, 01:09 PM
mình giờ mới dậy, và đã view code. code $_SESSION['login'] = true; có nhiệm vụ thực thi gì thế ?

hoangtu_eck94
11-03-18, 01:39 PM
mình giờ mới dậy, và đã view code. code $_SESSION['login'] = true; có nhiệm vụ thực thi gì thế ?
Lưu trạng thái đăng nhập = true :v.................

boydtc
15-03-18, 08:51 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

chip2014
16-03-18, 01:56 AM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

Đây là Đoạn code file login.php




$action = $_GET['action'];
if ($action == 'loginGame') {
$user = addslashes( $_POST['user'] );
$pass = stripslashes(trim($_POST['password']));
$server_id = stripslashes(trim($_POST['server_id']));
if (empty ($user)) {
echo 'Tên người dùng không thể để trống';
exit;
}
if (empty ($pass)) {
echo 'Mật khẩu không thể để trống';
exit;
}

$query = mysql_query("select * from game_user where username='$user'");

$row = mysql_fetch_array($query);

if ( $row['username']== $user && $row['password'] == $pass)
{
$rs = mysql_query("update game_user set last_ip='$ip', last_time = now(),last_server = '$server_id' where username='$user' ");
session_start();
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
if ($rs) {
echo json_encode(true);
} else {
$arr['success'] = 0;
$arr['msg'] = 'đăng nhập thất bại';
}
} else {
$arr['success'] = 0;
$arr['msg'] = 'Tên người dùng hoặc mật khẩu không đúng!';
}
//echo json_encode($arr);
//echo $loginhtml;
}
elseif ($action == 'logout') {
unset($_SESSION);
session_destroy();
echo '1';
}


và đây là code của ingame.php ( dành cho người chơi vào game )


<?php
session_start();
include 'action.php';
if(!$_SESSION['user']) exit("<meta charset='utf-8' /><script> alert('Thằng nhãi này, mày chưa đăng nhập sao vào game?');location.href='index.php';</script>");
$lon_ngua = $_SESSION['user'];
?>
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript">
function navigateToSignIn(){window.onbeforeunload=null;wind ow.location.href='<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>';}
var flashvars = {
Account:"<?php echo $lon_ngua; ?>",
key:"tanthu_kymon_longnhieu20171125",
enterPort:"1255",
serverId:"<?php echo $serverId; ?>",
var params = {
menu:"false",scale:"noScale"};
swfobject.embedSWF("chumlong/GameLoader.swf", "customRightClick", "100%", "100%", "9.0.0", "gameshow.swf", flashvars, params);
window.onbeforeunload=function(){return "Ê cùi bắp, sợ bỏ trốn hã?";}

</script>
</head>
<body id="flashcontent" scroll="no" onload="RightClick.init();" bgcolor="#000000" style="margin:0;height:100%;">
<div id="customRightClick">
<p>Ê Ku, mày xài trình duyệt thời napoleon hã ? tải Flash về mà cập nhật đi thằng khốn nạn !</p>
<p><a href="<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>">
<img src="<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>" alt="Get Adobe Flash player" />
</a></p>
</div>
<div style="display:block;position:absolute;z-order=-100"></div>
</body>
</html>


1 khi người chơi đăng nhập cùng 1 thời gian thì tài khoản của họ sẽ bị tráo đổi, VD đăng nhập với tài khoản : daica2018 , thì tự dưng biến thành thangkhungtheky.

hoặc trên index thì ghi rõ ràng đúng tên tài khoản, mà login vào game lại là 1 tài khoản khác .... :-o

boydtc
16-03-18, 02:27 AM
:D:D:D mình hiện tại chưa thấy lỗi trong code bạn, mình cũng ko biết bạn làm sao để tìm được bug đó vì SESSION chỉ tồn tại trên máy client và chỉ ở 1 cái trình duyệt duy nhất đó. Còn nếu dùng 2 trình duyệt khác nhau mà bị như vậy thì mình cũng chịu ko biết nói sao vì chưa từng gặp vụ này.

bimaloha
16-03-18, 06:32 AM
Xem lại dữ liệu khi vào game thôi. Session chả bị gì đâuu.
30 chả cá..............

chip2014
23-03-18, 02:41 AM
:D:D:D mình hiện tại chưa thấy lỗi trong code bạn, mình cũng ko biết bạn làm sao để tìm được bug đó vì SESSION chỉ tồn tại trên máy client và chỉ ở 1 cái trình duyệt duy nhất đó. Còn nếu dùng 2 trình duyệt khác nhau mà bị như vậy thì mình cũng chịu ko biết nói sao vì chưa từng gặp vụ này.

cũng không biết nữa, e ko rành về code web, nhưng với đoạn trên vào web session nó bị loạn cả lên, Thằng A và thằng B login cùng lúc thì tài khoản thằng A sẽ nhẩy sang TK thằng B, và thằng B thì lại nhẩy tứ bụi, sảy ra vụ này khổ quá, bảo trì website luôn :-o tới giờ vẫn còn sợ cái SESSION, giờ dùng bộ nhớ tạm ở máy cá nhân đỡ, nhưng vụ này kéo dài ko hay :(

--- Chế độ gộp bài viết ---


Xem lại dữ liệu khi vào game thôi. Session chả bị gì đâuu.
30 chả cá..............

Chưa ingame nữa, mới vừa mở cửa ngoài, thằng web nó lưu bậy, mấy thằng trong game còn xu trên web cũng bị thằng khốn khác cướp sạch :(