Salamlar .. Bu mövzuda , PHP`da necə login panel düzəldəcəyinizi , $_SESSION[] - un məntiqini göstərməyə çalışacam ..
Deməli İlk öncə SQL bazada işlərimizi görək ..
SQl bağlantı (db.php) :
Kod:
$host = "host";
$user = "MySQL User";
$password = "MySQL Password"; // Əgər şifrə yoxdursa boş buraxın ..
$database = "Database adi" ;
/////////////////////////
$connect = mysql_connect($host , $user , $passsword) or die ("Baglantida problem!");
$selectDB = mysql_select_db($database,$connect) or die ("db-da problem!");
/code]
Bu SQL bağlantı faylımız .. indi isə Login page (login.php) - yaradaq ..
login.php :
Kod:
<?php
//////////////////////
include("db.php");
@session_start();
@ob_start();
/////////////////////
if(isset($_SESSION["user"])){
echo " iki defe login harda gormusen ?))) ";
}else{
echo '<form method="POST">
<input type = "text" name = "admuser"></br>
<input type = "text" name = "admpass"></br>
<input type="submit" value = "Giris!">';
$username = mysql_real_escape_string(trim(strip_tags($_POST["admuser"]))); //XSS ve SQl INj qarsini aldiq //
$password = mysql_real_escape_string(trim(strip_tags($_POST["admpass"]))); //XSS ve SQl INj qarsini aldiq //
$sqlemr = mysql_query("SELECT * FROM admin WHERE username='$username' && password='$password'");
$neticesay = @mysql_num_rows($sqlemr );
if($neticesay>0){
$_SESSION["admin"] = true ;
$_SESSION["username"] = $username ;
$_SESSION["password"] = $password ;
}
}
?>
Login - hissəsi bitdi .. İndi guyaki hansısa bir səhifə var .. Və siz bu səhifəni ancaq qeydiyytlıların görməsini istəyirtsiz ..
Bunun üçün , həmin səhifədə Session_start() ? ob_start() -dan sonra bunu yazırıq .. :
Kod:
if(isset($_SESSION['user'])){
echo " xosh gorduk , $username !"
}else{
echo "FuckLamer!" ;
}
Diqqət edinki , həmişə admin fayllarında $_SESSON[] - yoxlayasız .. Yəni tutaqki , adminin belə bir faylı var : upload.php
Link admin/upload.php .. Siz burda SESSİON yoxlamasaz , attacker üçün bu səhifəni görmək üçün admin şifrəsi lazım deyil ..
Məsəlçün , guya mən hosta admin.upload.php atmışam .. Siz /admin yazanda login page gəlir amma admin/upload.php yazanda birbaşa upload səhifəsin ə gedirsiz və deface ..
İşinizə yaradısa +1 Rep!