(PHP) Birkaç Sorum Var
-
<?php
if(!isset($_SESSION['KullaniciAdi'])){
header('location: register.php');
} else{
$ad = $_SESSION['KullaniciAdi'];
}
$Sayfa = mysql_query("SELECT * FROM tablo WHERE ad='$ad'", $cn) or die(mysql_error()); -
hiç sessionlarla falan uğraşma çünkü tektek diğer sayfalarada eklemen gereki yo direk htaccessle hallet
http://www.tools.dynamicdrive.com/password/ burdan otomatik yapma var hazırlayıp veriyo sana htaccessle pwd dosyasını -
Diğer php ci arkadaşlar 2 ve 3 üncü sorularını iyi cevaplamışlar madem bende 1 inci sorunu cevaplayayım,
örneğin ; tahribat.com/admin.php sayfasını şifrelemek istiyorsan yazmaya başladığın <?php kodundan önce aşağıda vermiş olduğum kodu yazıyorsun,
<?php
//////////////////////////////////////////////////////////////////////////
// wrecks | 2007 //
// //
// :: Okubeni ::: //
// Bu kodu sayfanin en üstüne yerlestirin //
// Kullanici listesini dilediginiz kadar //
// arttirabilirsiniz //
//////////////////////////////////////////////////////////////////////////
// Kullanici Listesi
$kul[0]['username']="şifreniz";
$kul[0]['password']="şifreniz";
$kul[1]['username']="tekrarşifreniz;
$kul[1]['password']="tekrarşifreniz";
// Dogrulama
function authenticate()
{
header( 'WWW-Authenticate: Basic realm="Admin kullanıcı girisine hosgeldiniz; bilgileri girin."' );
header( 'HTTP/1.0 401 Unauthorized' );
echo 'şifre yanlış uzayınız.';
exit;
}
if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) { authenticate(); } else
{
for($i=0;$i<count($kul);$i++) { if($_SERVER['PHP_AUTH_USER']==$kul[$i]['username'] && $_SERVER['PHP_AUTH_PW']==$kul[$i]['password']){$auth=TRUE;}}
if($auth !=TRUE) {authenticate();}
}
?>
-
wrecks dostum ya kullanici sayisi 7000 ise ?
en saglami su sekilde yaparsin. eger adamin girdigi kullanici adi ve sifresi veri tabanindaki ile uyusuyorsa session degerine id sini yuklersin
<?php
if(!isset($_SESSION['KullaniciAdi'])){
session_start();
}
$ad = $_POST['adi'];
$sifre = $_POST['sifre'];
$MySqlQuery = mysql_query("SELECT ad FROM kullanici WHERE ad='$ad' AND sifre='$sifre' LIMIT 1", $cn);
if(mysql_num_rows($MySqlQuery) > 0){
$_SESSION['KullaniciAdi'] = $ad;
header('location: kontrolpaneli.php');
} else{
header("location: hata.php?hata=1");
exit;
}
?>yukaridaki kodu direk olarak kullanma sql injection yapilir.
en saglami bu sekilde olur. burada isterse milyon tane uye olsun hic onemli degildir
-
admin paneline 7000 kişi neden girsin ? e hadi girecek sen o admin paneli iznini verdiğin şahısa güveniyorsun demektir bırak herkes aynı bilgilerle girsin :)
-
pasam adam ilk mesajinda mesela admin paneli demis. diyelimki uyeye ozel uyelerin kendi bilgilerini duzenleyebilecegi ozel mesaj alip gonderecegi bir kontrol paneli yapmak istiyorsan senin kullandigin kod aninda coker. zaten senin yaptigin sekilde imkansizdir. Diyelimki sen beni admin paneline giris icin yeetki verdin, 5 gun sonra kafan bozuldu beni siteden attin. o zaman dosyayi bilgisayarina indireceksin, kodu duzenleyip yeniden yukleyeceksin.
Oysa benim onerdigim sekilde admin panelinden kullanciyi sil dedigin an da o kullancii bir daha asla giris yapamaz.