• 26-08-2008, 00:56:08
    #1
    Üyeliği durduruldu
    Ö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?
  • 26-08-2008, 10:33:58
    #2
    .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, 11:50:10
    #3
    Üyeliği durduruldu
    çok sagol ama htacces ne?
  • 26-08-2008, 12:08:11
    #4
    Üyeliği durduruldu
    ftp dizinine puplic_html içinde .htacces diye bir dosya vardır.Onun içine yapıştır.
  • 26-08-2008, 12:09:25
    #5
    kmlkyhn adlı üyeden alıntı: mesajı görüntüle
    çok sagol ama htacces ne?
    Htaccess - Vikipedi

    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
    #6
    Üyeliği durduruldu
    root/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
    #7
    Üyeliği durduruldu
    Bu ş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.