-
1. Data: 2009-01-06 07:50:44
Temat: Problem z zapamiętaniem hasła strony w php
Od: "Clive Codringher" <n...@m...maila>
Mam taki problem: jest sobie strona napisana (nie przeze mnie, nie znam
się na tym) w php - jest to prosty CMS. Przy logowaniu się do niego
żadna z przeglądarek nie proponuje zapamiętania hasła. Czym to może być
spowodowane? Zapewne jest jakiś błąd w skrypcie.
Zamieszczam kod poniżej:
plik admin.php:
<?
include ("inc/sesja.inc.php");
include_once ("inc/header.inc.php");
?>
<div class="tytul">Serwis WWW Ekosystem - panel administracyjny</div>
<?
//phpinfo()
include ("inc/auth.inc.php");
include ("inc/user_info.inc.php");
?>
<div class="tytul2">Zarz?dzanie cennikiem</div>
<ul>
<table>
<tr><td class="button1"><a href="adm_strony.php">edycja stron
cennika</a></td></tr>
<tr><td class="button1"><a href="adm_kategorie.php">edycja kategorii
artykulow</a></td></tr>
<tr><td class="button1"><a href="adm_kat_artykulow.php">edycja
artykulow</a></td></tr>
<!--<tr><td class="button1"><a href="z_pliku.php">pobieranie danych z
pliku</a></td></tr>
<tr><td class="button1"><a href="cennik_z_pliku.php">pobieranie cennika
z pliku</a></td></tr>
<tr><td class="button1"><a href="konwersja.php">konwertowanie danych z
pliku</a></td></tr>
<tr><td class="button1"><a href="sprawdz_duplikaty.php">sprawdz
duplikaty</a></td></tr>
<tr><td class="button1"><a href="ustaw_kolejnosc.php">ustawienie
kolejności</a></td></tr>
-->
</table>
</ul>
plik auth.inc.php:
<?
include_once ("sql.inc.php");
include_once ("sesja.inc.php");
if (!$_SESSION["user"] || !isset($_SESSION["user_status"]))
{
if ($_POST["user"] && $_POST["pass"])
{
$user = $_POST["user"];
$pass = $_POST["pass"];
# szyfrowanie hasla
$salt="";
while (strlen($salt)<12)
{
$salt.=$pass;
}
$salt=substr($salt,0,12);
$codedpass=crypt($pass,$salt);
unset($salt);
$sql = "SELECT * FROM users WHERE user_id='$user' AND
pass='$codedpass'";
$wynik = pg_query ($sql);
if (pg_num_rows($wynik))
{
$dane_usera = pg_fetch_array($wynik);
if ($dane_usera["status"])
{
# pomyslne logowanie
$_SESSION["user"] = $user;
$_SESSION["user_status"] = $dane_usera["status"];
print "<meta http-equiv=\"Refresh\"
content=\"0;url=\"/admin\">";
exit;
}
else
{
print "<div class=\"error\">Użytkownik <b>$user</b> nie
ma uprawnień do otwierania tej strony.<br></div>\n";
}
}
else
{
print "<div class=\"error\">Niepoprawna nazwa użytkownika
lub hasło.<br></div>\n";
}
}
if (!$_SESSION["user"] && !$_SESSION["user_status"])
{
include ("inc/header.inc.php");
?>
<h4>Ta strona wymaga zalogowania</h4>
<form method="POST">
<table>
<tr><td>Użytkownik:</td><td> <input type="text"
name="user" size="22"></td></tr>
<tr><td>Hasło:</td><td> <input type="password" name="pass"
size="24"></td></tr>
<tr><td></td><td> <input type="submit" name="submit"
value="Zaloguj"></td></tr>
<input type="hidden" name="url" value="<?print
$_SERVER["SCRIPT_NAME"];?>">
</table>
</form>
<?
exit;
}
}
elseif($_POST["wyloguj"])
{
unset ($_SESSION["user"]);
unset ($_SESSION["user_status"]);
#$_SESSION["user"] = "";
#$_SESSION["user_status"] = "";
#header("Location: ".$_POST["url"]);
print "<meta http-equiv=\"Refresh\"
content=\"0;url=\"".$_POST["url"].">";
#exit;
}
?>
-
2. Data: 2009-01-06 17:40:33
Temat: Re: Problem z zapamiętaniem hasła strony w php
Od: "syku" <s...@p...fm>
lepiej zamiast zajmowania się bzdurą szybciutko zrób coś z:
$sql = "SELECT * FROM users WHERE user_id='$user' AND pass='$codedpass'";
bo na tacy podałes wszystkim dostęp do panelu administracyjnego przy uzyciu
najprostrzego sql injection
Pozdrawiam
syku
-
3. Data: 2009-01-06 23:52:22
Temat: Re: Problem z zapamiętaniem hasła strony w php
Od: Wojciech Malinowski <v...@w...pl>
Clive Codringher pisze:
> Mam taki problem: jest sobie strona napisana (nie przeze mnie, nie znam
> się na tym) w php - jest to prosty CMS. Przy logowaniu się do niego
> żadna z przeglądarek nie proponuje zapamiętania hasła. Czym to może być
> spowodowane? Zapewne jest jakiś błąd w skrypcie.
WTF? Chłopie! usuń ten post jak najszybciej i usuń panel admina z tej
strony do czasu jej naprawienia.
Właśnie zaprosiłeś różnorakich script kiddies do hackowania Ci strony.
Masz fatalny poziom zabezpieczeń. Równie dobrze mogłeś dać każdemu
możliwość edycji Twojej strony - jak na Wikipedii.
Pozdrawiam,
Wojciech Malinowski