Parola için en iyi yolu, bir db ya da kullanıcı adı olmadan php kullanarak klasör / sayfanızı korumak nedir

6 Cevap php

Ne bir veritabanı veya kullanıcı adı olmadan php kullanarak ancak kullanarak klasör parola ile korumak için en iyi yoldur. Temelde her kullanıcı için hesap kalmadan bu klasörü parola ile korumak için organizasyon ve ihtiyaç için kişileri listeler bir sayfa var. Her öylesine sık ve gruba dağıtılan değişiklik olur sadece tek bir şifre. Ben çok güvenli olmadığını biliyoruz ama asla daha az ben bunu bilmek istiyorum. En iyi şekilde.

Kullanıcı doğru girilen bir kez parola bir süre hatırlanır eğer güzel olurdu.


Ben kurabiye olmadan hariç, David Heggie önerilen ne yaklaşık yapıyorum. Bu cehennem gibi güvensiz görünüyor, ama muhtemelen daha sonra kötü bir şifre koruması tüm hiçbiri yaşıyor.

Bu insanların giriş ve şifre hatırlayarak bir süre cehennem olurdu ve gerçekten kolay sürece hepsi de sistemi kullanmak olmaz ... sign up sürecinden geçmesi asla iç sahada içindir.

Ben bu soruna başka çözümler görmek istedim.

Bunu yapmanın başka yolları nelerdir çok teknik değil anlayışlı insanlardan oluşan bir kullanıcı tabanı ile.

6 Cevap

Böyle bir şey kullanabilirsiniz:

//access.php

<?php
//put sha1() encrypted password here - example is 'hello'
$password = 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d';

session_start();
if (!isset($_SESSION['loggedIn'])) {
    $_SESSION['loggedIn'] = false;
}

if (isset($_POST['password'])) {
    if (sha1($_POST['password']) == $password) {
        $_SESSION['loggedIn'] = true;
    } else {
        die ('Incorrect password');
    }
} 

if (!$_SESSION['loggedIn']): ?>

<html><head><title>Login</title></head>
  <body>
    <p>You need to login</p>
    <form method="post">
      Password: <input type="password" name="password"> <br />
      <input type="submit" name="submit" value="Login">
    </form>
  </body>
</html>

<?php
exit();
endif;
?>

Sonra her dosya üzerinde Eğer üst koymak, korumak istiyorum:

<?php
require('access.php');
?>
secret text

Bu çok güzel bir çözüm değil, ama ne istediğinizi yapabilir

Edit

Bir logout.php sayfa gibi ekleyebilirsiniz:

<?php
    session_start();
    $_SESSION['loggedIn'] = false;
?>
You have logged out   

Apache üzerinde olduğunuzu varsayarak:

http://httpd.apache.org/docs/1.3/howto/htaccess.html#auth

. Çerezler, oturumları önlemek istiyorsanız ve htaccess dosyaları oynamak istemiyorsanız, siz de PHP ile http kimlik doğrulaması Soley yapabilirsiniz:

http://www.php.net/manual/en/features.http-auth.php

Sen sert dosyasına şifreyi kod ve gerektiğinde değiştirmek veya web_accessible dizininde bir dosya değil, onu içerebilir.

Dezavantajı "login" ekranını biçimlendirmek için yeteneği yok - bu bir standart http kimlik doğrulama iletişim kutusu olacak

Bu bunu yapmanın best wasy olarak saymak istiyorum eğer şüphe, ama çalışmaya devam eder. Güvenlik sizin için büyük bir sorun görünmüyor çünkü, bu şekilde cehennem gibi güvensiz olduğunu aslında muhtemelen ya sizi rahatsız etmeyecektir.

Bir parola alır ve sonra oturum açma bilgilerini doğru olup olmadığını bir çerez bir login.php sayfası var. Her php dosya daha sonra kullanıcı ya da değil "oturum" olup olmadığını belirlemek için çerez varlığı için kontrol ve buna göre bilgi görüntüleyebilirsiniz.

login.php
...
if(isset($_POST['password']) && $_POST['password'] == 'my_top_secret_word') {
    setcookie('loggedin', 'true', time() + 1200, '/url/');
} else {
    setcookie('loggedin', 'false', time() - 1200, '/url/');
    // display a login form here
}
etc

her bir "korumalı" sayfa sonra bu cookie kontrol ediyorum:

if(isset($_COOKIE['loggedin'])) {
    if($_COOKIE['loggedin'] == 'true') {
        $showHidden = true;
    } else {
        $showHidden = false;
    }
} else {
    $showHidden = false;
}

Ben size (son derece güvensiz) fikir olsun eminim ...

Bu nadir kopya biri ve benim gibi tam bir programlama devre acemi internette kodları çalışan yapıştırmak olduğunu :)

Ben bir WordPress teması olduğunu düşündüm ama bir HTML ile sona erdi bir tema aldım.

Yani bir klasöre arkasında bazı video ve resimleri gizlemek ve güvenli bağlantıları tutmak istedim edeceğiz.

Ben bağlantıları, bir dahaki sefere dışarı vermek ise sadece kopyalayıp yapıştırın ziyade dosyalar aynı klasörde olduğundan oturum olacaktır.

Ben bunu nasıl yaparım?

1 People come to the main page > 2 Click on login > (no mather what kind on page or pop up comes up) 3 People can browse the contents of the folder that is not accessible via direct URL

ve şeyler bu topluluk olay resim ve videolar var, hiç gizli değildir.

Peki sizin beri know sizin web sunucusu üzerinde bir yere bir metin dosyasına bir şifre saklamak olabilir, başlamak için güvensiz. Birisi sayfasına eriştiğinde bir şifre sorar bir form gösterebilirim. Şifre metin dosyasında ne uyuyorsa, o zaman sayfayı yeniden ve bilgileri görüntüler. Metin dosyası kullanarak bunu değiştirmek istediğinizde onlar erişen sayfasını değiştirmek zorunda kalmadan şifresini değiştirmek için izin verir. Hala SSL kullandığınız sürece her yerde düz metin gönderme için gidiyoruz. Bazı kod ihtiyacınız varsa bana bildirin.