witam!! Pewno juz wiele razy byl poruszany temat logowania w php, ale ja jestem tu nowy troche juz wczesniej grzebalem po forum i mam taki problem.
Na wlasne potrzeby stworzylem nastepujacy formularz logowania oparty o sesje.
Składa sie ze standardowej bazy mysql w ktorej stworzona jest tabela adimin oraz z trzech plikow:
conf.php:
<?
?>
ktory hosta, usera i password pobiera za pomoca explode z osobnego pliku php:
<? nazwa_hosta | user | password ?>
kolejny plik to admin.php:
<?
include_once('katalog/logadm.php');
include_once('katalog/conf_adm.php');
if($_SESSION['logadm'] == 'ok') { ?>
<BR><P class=title><B>Witaj w panelu administracyjnym</B></P>
<?php } else { ?>
<BR><P class=title><B>Witaj w panelu administracyjnym - zaloguj się aby uzyskać pełen dostęp do serwisu</B></P>
<?php } ?>
<?php
?>
oraz logadm.php:
<?php
include('conf_adm.php');
if(isset($_POST['logadm'])) {
$dane = @mysql_query('SELECT login, password FROM admin WHERE login = "'.$_POST['loginadm'].'" AND password= "'.$_POST['passadm'].'"') or
die(mysql_error());
$_SESSION['logadm'] = 'ok';
}
else {
$_SESSION['logadm'] = '<P class=blad>Błędny login lub hasło!';
}
}
if(isset($_POST['unlogadm'])) {
unset($_SESSION['logadm']);
unset($_POST['unloaddm']); }
function logadm() {
if($_SESSION['logadm'] == 'ok') {
$string = '<form action="'.getenv(REQUEST_URI
).'" method="post">'; $string .= ' <input type="submit" name="unlogadm" value="Wyloguj" />';
$string .= '</form>';
}
else {
$string = '<form action="'.getenv(REQUEST_URI
).'" method="post">'; $string .= ' <ul style="list-style-type: none; margin: 0; padding: 0;">';
if(isset($_SESSION['logadm']))
$string .= '<li>'.$_SESSION['logadm'].'</li>';
$string .= '<li><P class=normal>Login: <input type="text" name="loginadm" style="width: 130px"/></li>';
$string .= '<li><P class=normal>Haslo: <input type="password" name="passadm" style="width: 130px"/></P></li>';
$string .= '<li><input type="submit" name="logadm" value="Logowanie" /></li>';
$string .= '</ul>';
$string .= '<BR><TABLE align=center class=haslo CELLPADDING="0" CELLSPACING="0"><TR><TD ALIGN=center>';
$string .= '<a href=admin_instal_adm.php>instalacja bazy</A> ';
$string .= '</TD><TD ALIGN=center><P class="title">|</P>';
$string .= '</TD><TD ALIGN=center> <a href=admin_instal_adm.php>help</A>';
$string .= '</TD></TR></TABLE>';
$string .= '</form>';
}
return $string;
}
?>
pliki conf.php, logadm oraz ten z hostem, adminem i haslem umiescilem w katalogu chronionym przez .htaccess
Problem polega na tym czy mechnizm jaki stworzylem oprze sie atakom hakershitow i czy da sie zastosowac jeszcze jakies mechnizmy, zeby wzmocnic obrone?? Jesli znajdziecie jakies dziury to prosze o sygnaly i zgloszenia.
Z gory dzieki za lawinowo odsylane odpowiedzi (IMG:
http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Ten post edytował adeq_PL 26.01.2006, 16:14:26