Skocz do zawartości
Zaloguj się, aby obserwować  
Lukaso

Problem z logowaniem po aktualizacji serwera VPS

Polecane posty

Witam,

Po aktualizacji serwera VPS ( Apache 2.2.22, PHP 5.3.3 i MySQL 5.5.28 ) mam problem z logowaniem

do postawionego na nim serwisu. Gdy zostanie wpisane poprawne hasło użytkownik zamiast się

zalogować - otrzymuje poniższą informację:

 


"Nieprawidłowe przekierowanie

Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie.

Problem ten może się pojawić w wyniku zablokowania lub odrzucenia ciasteczek."


Od momentu zalogowania we wszelkich podstronach wyświetla się ta informacja - do czasu usunięcia pliku
cookie odpowiedzialnego za zalogowanie. Dodam iż na innym serwerze cały proces logowania do serwisu
działa poprawnie.

Na czym polega powstały problem? Spotkaliście się kiedyś z taką sytuacją?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A może prostsza przyczyna: wyczyściłeś cache w przeglądarce, albo próbowałeś się zalogować za pomocą innej?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Sprawdz tez wersje php vpsa i hostingu i jezeli na vps jest nowszy to sprawdz czy jakas funkcja uzywana przez skrypt nie jest juz wspierana przez nowe php

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ciężko stwierdzić w czym jest problem. Polecam przeanalizować logi apache'a z /var/log/apache2.

 

Logi przeanalizowane - ale nie ma tam nic niepokojącego.

 

 

A może prostsza przyczyna: wyczyściłeś cache w przeglądarce, albo próbowałeś się zalogować za pomocą innej?

 

Niestety - to nie takie proste... Problem pojawia się na różnych przeglądarkach (np. na IE długo ładuje

i wyświetla komunikat "Nie można wyświetlić strony") - sprawdzane na kilku komputerach.

 

 

Sprawdz tez wersje php vpsa i hostingu i jezeli na vps jest nowszy to sprawdz czy jakas funkcja uzywana przez skrypt nie jest juz wspierana przez nowe php

 

Na starym serwerze jest PHP w wersji 5.3.13 - a na obecym 5.3.3. Czy to może stanowić problem?

Gdzie mogę znaleźć listę funkcji wspieranych przez jedną i drugą wersję, aby móc je porównać?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Faktycznie - w error log znalazłem błędy (było ich całkiem sporo, dużo już wyeliminowałem, ale mam problem z poniższymi):

PHP Deprecated: Function session_register() is deprecated in /var/www/vhosts/mojadomena.pl/httpdocs/x/core.php on line 3
PHP Warning: session_register() [<a href='function.session-register'>function.session-register</a>]: open(/var/lib/php/session/sess_maka3fh2tou4m2ps49asklemr3, O_RDWR) failed: Permission denied (13) in /var/www/vhosts/mojadomena.pl/httpdocs/x/core.php on line 3

 

Próbowałem to naprawić wg. instrukcji znalezionych w necie, ale bezskutecznie... Zerknijcie na kod przed zmianami i pomóżcie mi bo już tracę siły.... Poniżej podaję fragment kodu (core.php):

<?php

session_register('iLogged');

if ($_SESSION['iLogged'] == true)
{
define(_i, $_SESSION['iLogged']);
mysql_query("UPDATE `"._sql."users` SET `last_visit` = '".time()."' WHERE `id` = "._i);
if (user(rank) == 9) define (_iA, true);
else define (_iA, false);
if (user(rank) == 8) define (_iM, true);
else define (_iM, false);

if (user(rank) < 0)
{
$_SESSION['iLogged'] = false;
setcookie("iUser", $user['id'], time()-1, "/");
redirect();
}
}
else
{
define('_i', false);
define('_iA', false);
define ('_iM', false);
}

if (!_i AND $_COOKIE['iUser'])
{
$cookie = explode("_", $_COOKIE['iUser']);
$sql = "SELECT * FROM `"._sql."users` WHERE `id` = '".$cookie[0]."'";
if (sql_num($sql))
{
$sql = sql_load($sql);
if (md5($sql["hash"]) == $cookie[1])
{
$_SESSION['iLogged'] = $sql['id'];
redirect(_ref);
}
}
}

?>

 

+ plik logowania:

<?php


class login
{
function content()
{
if ($_POST['login_try']) return $this -> try_login();
elseif (_1 == logout) { $_SESSION['iLogged'] = false; setcookie("iUser", $user[id], time()-1, "/"); redirect(_ref); }
elseif (!_i) return $this -> form();
else redirect(_ref);
}

function form()
{
if ($this -> error)
{
$icon = forbidden;
$title = $this -> error;
}
else
{
$icon = lock;
$title = "Zaloguj się:";
}
echo _open.alert($icon, $title, "<form action='"._server."login' method='post'>".row(
array
(
"Login:<br />
<input name='login_login' style='width:100px;' type='text' value='' /><br />",
"Hasło:<br />
<input name='login_password' style='width:100px;' type='password' value='' /><br />",
"<input name='login_try' type='hidden' value='1' /><br />
<input type='submit' value='Zaloguj się' class='submit short' />"
)
)."</form>"._clear)._close;
}

function try_login()
{
$login = filter($_POST[login_login]);
$password = filter($_POST[login_password]);
$sql = "SELECT * FROM `"._sql."users` WHERE `login` = '".$login."' AND `password` = '".md5($password)."'";
$user = sql_load($sql);
if (sql_num($sql) AND $user[verified] AND $user[rank] >= 0)
{
$_SESSION[iLogged] = $user[id];
setcookie("iUser", $user[id]."_".md5($user["hash"]), strtotime("+1 month"), "/");
redirect(_ref);
}
elseif ($user[rank] < 0)
{
if ($user[rank] == -3) $expired = "żywotnio";
else $expired = " ".date(set(show, date_format), $user["rank_expire"]);
$this -> error = "<span style='color: #ffffff;'>Użytkownik zbanowany (do".$expired.")!</span>";
}
elseif (!sql_num($sql)) $this -> error = "<span style='color: #ffffff;'>Nieprawidłowe dane!</span>";
elseif (!$user[verified]) $this -> error = "Konto nieaktywne!<br /><span style='font-size: 11px; color: white;'>E-mail aktywacyjny nie dotarł? <a href='"._server."rejestracja/5/".$login."'>Kliknij.</a>";
if ($this -> error) return $this -> form();
}
}
?>

 

Edytowano przez Lukaso (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zmień w php.ini session_save_path na /tmp i sprawdź czy /tmp ma prawa 777.

 

Dodatkowo wyłącz wyświetlanie błędów E-Deprecated

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×