Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
GmAMXBans

Wylogowanie użytkownika po usunięciu go z adminów WWW

gmamxbans

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 Kowalsky

    master of disaster

  • Użytkownik

Reputacja: 136
Zaawansowany

  • Postów:424
  • Lokalizacja:San José
Offline

Napisano 07.12.2015 08:37

*
Popularny

W naszym ukochanym AMXBansie po usunięciu użytkownika WWW cały czas gość jest zalogowany i może robić wszystko (bo istnieje jego sesja).

W paru krokach można zaradzić takim sytuacją rozwalając sesję jeżeli użytkownika nie ma w bazie danych. Oto krótka instrukcja:

 

1. Otwórz plik /include/access.inc.php

2. Znajdź:

function has_access($value) {
	if($_SESSION["loggedin"]) {
		return $_SESSION[$value]=="yes";
	}
	return 0;
}

3. Dodaj za powyższym kodem:

function is_in_base()
{
	global $config;
	$cook = explode(":", sql_safe($_COOKIE[$config->cookie]));
	$sid = $cook[0];

	$query = mysql_query("SELECT id,username,level,email FROM `".$config->db_prefix."_webadmins` WHERE logcode='".$sid."' LIMIT 1") or die (mysql_error());
	
	if(mysql_num_rows($query) < 1) {
		return false;
	} else {
		return true;
	}
}

4. Dalej znajdź:

if(isset($_COOKIE[$config->cookie]) && $_SESSION["loggedin"]==true) {
	$query = mysql_query("UPDATE `".$config->db_prefix."_webadmins` SET `last_action`=UNIX_TIMESTAMP() WHERE `id`=".$_SESSION["uid"]);
}

5. Zamień na:

if(isset($_COOKIE[$config->cookie]) && $_SESSION["loggedin"]==true)
{
		if(!is_in_base()) {
			unset($_SESSION["uid"]);
			unset($_SESSION["uname"]);
			unset($_SESSION["email"]);
			unset($_SESSION["level"]);
			unset($_SESSION["sid"]);
			unset($_SESSION["loggedin"]);
		} else {
			$query = mysql_query("UPDATE `".$config->db_prefix."_webadmins` SET `last_action`=UNIX_TIMESTAMP() WHERE `id`=".$_SESSION["uid"]);
		}
}

6. Zapisz i zamknij plik.

 

Dziękuje ;)


  • +
  • -
  • 5

#2 adi22399

    Pomocny

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:57
  • Imię:Adrian
  • Lokalizacja:Ostrow Wielkopolski
Offline

Napisano 07.12.2015 15:05

Działa ! Przydatne, leci +


  • +
  • -
  • 0





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych