Örnekle açıklarsam şöyle;
hesabim.php sayfasına login.php sayfasından harici bi yerden girişi engellemek mümkünmüdür.Yani adres cubuguna site.com/members.php yazılınca sayfayı açmayacak eger login.php den yada baska bir sayfadan tıklayıp girilirse sayfa açılacak.
Geri dön butonları filan yapılıyor hangi adresten gelindigini anlayabiliyor o zaman ama dedigim olurmu?
Sayafaya direk girişi engellemek
6
●3.477
- 26-08-2008, 10:33:58.htaccess ine şunu ekle
<Files ~ “^\dosyanınadı”>
Order allow,deny
Deny from all
Satisfy All
</Files>
istersen şöylede yapabilirsin index.php yi html yap ve yeni bir dizin oluştur mesela hesap diye htaccesside onun içine at ve bu hesabım.php vs. yide gizlemek için
<Files ~ “^\.php”>
Order allow,deny
Deny from all
Satisfy All
</Files>
Htaccese bunu ekle yani o dizindeki .php uzantılarını gösterme.dene sonucu bildirirsen daha çabuk yardımcı olurum - 26-08-2008, 12:09:25Htaccess - Vikipedikmlkyhn adlı üyeden alıntı: mesajı görüntüle
Sen Dediğimi Yaptınmı? .htaccess İSimli Bir Dosya Oluştur(Ftpden Oluştur Windowsta Olmuyor)Sonra bilgisyarına indir notdefteri ile aç dediğimi yap. - 26-08-2008, 12:32:16Üyeliği durdurulduroot/htdocs un içine oluşturdum.
<Files ~ “^\dosyanınadı”>
Order allow,deny
Deny from all
Satisfy All
</Files>
yazdım...
Ama olmadı.O dosyaya hiç girilmiyor.başka sayfadanda olsa direk adres çubugunada yazsam 404 çalışıyor...
Benim istedigim adres çubuguna yazılıp girince sayfayı göstermeyecek ama site içinde başka bir sayfadan linke tıklanınca açılacak... - 26-08-2008, 14:11:03Üyeliği durdurulduBu şu şekilde yapabilirsin
Aşağıda verdiğim kodları aynı isimde kaydet ve servera yolla.
giris.php
<?php include_once("hesap/hesaplar.php");?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="tr"> <head> <title></title> <meta http-equiv="content-type" content="text/html;charset=iso-8859-9" /> <style type="text/css"> body{ margin:0 auto; font-family:arial,verdana,helvetica; font-size:11px; line-height:170%; background:#999; } .giris_formu{ margin:30px auto; width:200px; padding:10px; border:4px solid #777; background:#fff; } h3{ color:#ff9900; width:100%; font-size:16px; } label{ color:#888; } .giris{ border:3px solid #f0f0f0; padding:4px; width:90%; } .buton{ border:2px solid #f0f0f0; background:#fbfbfb; padding:2px; color:#ff9900; } </style> </head> <body> <div class="giris_formu"> <h3>Giriş Formu</h3> <?php if ($hata_mesaj<>""){ echo $hata_mesaj."<br /><br />"; } ?> <form method="post" action="index.php"> <label>Kullanıcı Adı:</label><br /> <input type="text" class="giris" name="kullanici_ad" value="<?php echo $kullanici_ad; ?>" /><?php if ($kullanici_ad=="")echo "*";?> <br /> <label>Kullanıcı Parolası:</label><br /> <input type="password" class="giris" name="kullanici_parola" value="<?php echo $kullanici_parola; ?>" /><?php if ($kullanici_parola=="")echo "*";?> <br /> <br /> <input type="submit" value="Giriş" class="buton" /> </form> </div> </body> </html>cikis.php
<?php session_start(); session_destroy(); header("Content-Type:text/html;charset:iso-8859-9;"); ?> Çıkış işlemi gerçekleştirildi.index.php
<?php include_once("hesap/hesaplar.php");?> Burayı görebiliyorsanız giriş yapmışsınız demektir.<br /> Bakalım hangi kullanıcı adı ile giriş yapmışsınız ?<br /> Kullanıcı Adı :<?php echo $_SESSION["kullanici_ad"]; ?> <br /><br /> Çıkış yapmak isterseniz <a href="cikis.php">tıklayınız</a>Bunları yaptıktan sonra bu safyaların bulunduğu dizinin içine hesap adında bir klasör açın veri içine aşağıda verdiğim sayfaları ekleyin.
hesaplar.php
<?php //Karakterler ve sayfa yapısı için belirleniyor. header("Content-Type:text/html;charset:iso-8859-9"); //Hesaplar tanımlanıyor $Hesaplar=array( "kullanici" => "parola", ); //Hesap kontrolü için kontrol.php sisteme dahil ediliyor. include_once("kontrol.php"); ?>kontrol.php
<?php session_start(); //Özel değerler atanıyor $durum=false; $hata_mesaj=""; //Oturum değerleri atanıyor. if (!isset($_SESSION["kullanici_ad"])) $_SESSION["kullanici_ad"]=""; if (!isset($_SESSION["kullanici_parola"])) $_SESSION["kullanici_parola"]=""; //Eğer oturum açılmışsa ya da oturum değeri dolu ise bu değişkene aktarılıyor if ($_SESSION["kullanici_ad"]<>"") $kullanici_ad=$_SESSION["kullanici_ad"]; if ($_SESSION["kullanici_parola"]<>"") $kullanici_parola=$_SESSION["kullanici_parola"]; //Eğer formdan bir değer gelmişse bu değer değişkene aktarılıyor if (isset($_POST["kullanici_ad"])) $kullanici_ad=$_POST["kullanici_ad"]; if (isset($_POST["kullanici_parola"])) $kullanici_parola=$_POST["kullanici_parola"]; //Zararlı karakterler için önlem alınıyor //İzin verilen karakter ve rakam aralıkları: //a-z , A-Z, 0-9 $kullanici_ad=ereg_replace("[^a-zA-z09]","",$kullanici_ad); $kullanici_parola=ereg_replace("[^a-zA-z09]","",$kullanici_parola); //Kullanıcı adı veya parola boş ise giriş durumu olumsuz oluyor //Eğer bu değerler dolu ise kontrol işlemi yapılıyor. //Kontrol işleminde hesaplar.php dosyasındaki kullanıcı adı ve şifreler //karşılaştırılıyor. Durum olumlu ise giriş yapılıyor. if ($kullanici_ad=="" || $kullanici_parola==""){ $durum=false; }else{ $durum=true; if ($Hesaplar[$kullanici_ad]==$kullanici_parola){ $durum=true; $hata_mesaj=""; $_SESSION["kullanici_ad"]=$kullanici_ad; $_SESSION["kullanici_parola"]=$kullanici_parola; }else{ $durum=false; $hata_mesaj="Kullanıcı adı veya parola hatalı."; } } //Durum olumsuz ise giris.php sayfasına yönleniliyor. if ($durum==false){ session_destroy(); $kullanici_ad=""; $kullanici_parola=""; if (basename($_SERVER["SCRIPT_NAME"])<>"giris.php"){ include_once("giris.php"); } exit; } //Eğer giris.php ye yönlenen bir giriş yapmış kullanıcı varsa //belirtilen sayfaya dönmesi sağlanıyor. if (basename($_SERVER["SCRIPT_NAME"])=="giris.php"){ header("Location:index.php"); } ?>En kolay yolu bu sanırım arkadaşım. Takıldığın bir yer olursa yardımcı olurum.
Kolay gelsin.