diff --git a/chat.php b/chat.php
index 3b59997..721d508 100644
--- a/chat.php
+++ b/chat.php
@@ -2062,11 +2062,11 @@ function send_login(){
$englobal=(int) get_setting('englobalpass');
echo '
'.get_setting('chatname').'
';
echo form_target('_parent', 'login');
- if($englobal===1 && isSet($_POST['globalpass'])){
- echo hidden('globalpass', $_POST['globalpass']);
+ if($englobal===1 && isSet($_REQUEST['globalpass'])){
+ echo hidden('globalpass', $_REQUEST['globalpass']);
}
echo '';
- if($englobal!==1 || (isSet($_POST['globalpass']) && $_POST['globalpass']==get_setting('globalpass'))){
+ if($englobal!==1 || (isSet($_REQUEST['globalpass']) && $_REQUEST['globalpass']==get_setting('globalpass'))){
echo "$I[nick] | |
";
echo "$I[pass] | |
";
send_captcha();
@@ -2314,19 +2314,12 @@ function approve_session(){
function check_login(){
global $I, $U, $db;
$ga=(int) get_setting('guestaccess');
- if(isSet($_POST['session'])){
- $stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'sessions WHERE session=?;');
- $stmt->execute([$_POST['session']]);
- if($U=$stmt->fetch(PDO::FETCH_ASSOC)){
- check_kicked();
- setcookie(COOKIENAME, $U['session']);
- }else{
- setcookie(COOKIENAME, false);
- $_REQUEST['session']='';
- send_error($I['expire']);
-
- }
- }elseif(get_setting('englobalpass')==1 && (!isSet($_POST['globalpass']) || $_POST['globalpass']!=get_setting('globalpass'))){
+ if(isSet($_REQUEST['session'])){
+ parse_sessions();
+ }
+ if(isset($U['session'])){
+ check_kicked();
+ }elseif(get_setting('englobalpass')==1 && (!isSet($_REQUEST['globalpass']) || $_REQUEST['globalpass']!=get_setting('globalpass'))){
send_error($I['wrongglobalpass']);
}elseif(!isSet($_REQUEST['nick']) || !isSet($_REQUEST['pass'])){
send_login();
@@ -3392,8 +3385,9 @@ function save_setup($C){
function valid_admin(){
global $U;
if(isSet($_REQUEST['session'])){
- check_session();
- }elseif(isSet($_REQUEST['nick']) && isSet($_REQUEST['pass'])){
+ parse_sessions();
+ }
+ if(!isset($U['session']) && isSet($_REQUEST['nick']) && isSet($_REQUEST['pass'])){
create_session(true, $_REQUEST['nick'], $_REQUEST['pass']);
}
if(isSet($U['status'])){