Admin sayfa url bilerek admin sayfaların erişimini engellemek için?

6 Cevap php

Birisi böyle www.example.com / admin.php olarak yönetici sayfanın benim url biliyorsa, o zaman kolayca doğrudan o url ulasarak tarafından sayfaya erişecek. Bu nasıl kısıtlanır. Lütfen yardım

6 Cevap

Sen yönetici bölümünde kamuoyuna yapmak asla. Bunun için bilinmezlik güvenemez, yetkilendirme gitmek için yoludur. Bunu kullanarak bunu yapabilirsiniz. Htacces, as described here, veya PHP güvenerek. Ham bir örnek aşağıda verilmektedir.

Aşağıda basit bir oturum açma uygulamasıdır. Şifre doğru ise o kullanıcı admin.php gitmek için izin verir. Oturum başlığı giriş sayfasından arkasında her sayfada mevcut olmalıdır çünkü, ancak oturumlarda the PHP manual okumalısınız. Şifre yönetimi de daha güvenli ele olabilir.

<?php
  session_name('MyAdminSession');
  session_start();

  if (isset($_POST['userid']) && isset($_POST['password'])) {
    $userid = $_POST['userid'];
    $password = md5($_POST['password']);

    if ($userid == 'myusername' && $password == md5('mypassword')) {
      $_SESSION['logged_in'] = true;
      header('location: admin.php');
      exit;
    }
  }
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>My login page</title>
  </head>
  <body>
    <form action="index.php" method="post">
    <label for="userid">Username: </label><br />
    <input name="userid" type="text" id="userid" /><br />
    <label for="password">Password: </label><br />
    <input name="password" type="password" id="password" /><br />
    <p><input type="submit" name="submit" class="button" value="Log In" /></p>
    </form>
  </body>
</html>

Kimlik doğrulaması gerektirir. (Ve Yetkilendirme -! Aşağıda yorumladı gibi)

10x @ Sadece Biri!

Ben web sitesi kurulum nasıl bağlı olarak, sizin için bir araya Bu yanıtların bir kaç koymak için çalışacağız.

If it is a simpler website and you don't do any user handling or admin authentication, your main option is to do as igorp said and restrict based on the .htaccess file. You will get a popup asking for a predefined username and password, and only then will you have access to that particular page.

Yine, bu basit bir web sitesi için iyidir.

Daha karmaşık ve sitenize kullanıcı girişlerini izin verirseniz, kullanıcılara dayalı çeşitli sayfalarına erişim haklarını ayarlayabilir düzeyini erişebilirsiniz.

Örneğin, idari sayfa (lar), sen o / o sayfaya erişmek için izin verilmesi gerektiğini görmek için kullanıcının erişim seviyesini kontrol ederim. O, bir erişim engellendi tipi sayfaya yönlendirme değilse. Aksi halde, içeri

Bu yöntemlerin her ikisi ile, bir kullanıcı yönetim sayfalarına doğrudan göz atabilir ve doğrulama çeşit geçmesi gerekecektir. Her iki şekilde de, yönetici sayfaları korunacaktır.

You can block all IP to go in admin panel except your admins IPs Write something like this:

order allow,deny
deny from all
allow from {your IP}
allow from {your other admin's IP}

Bu çalışma olmalı

Eğer cPanel (veya benzer bir kontrol paneli) erişiminiz varsa, kolayca yanı sıra şifre korumalı dizinler oluşturabilirsiniz. Bu yöntem Htpasswd ve htaccess dosyaları kullanır. Eğer bu şekilde kurarsanız, korumalı bir dizin erişmeye çalışırken herkes bir kullanıcı / geçiş girmek zorunda kalacaktır. Bunun için sadece aşağı tarafı yönetici dosyaları, kendi bir dizinde olması gerektiğidir.

Şimdiye kadar çabuk kimlik doğrulaması gerekiyorsa ben bir Apache web sunucusu üzerinde konum varsayarak oldukça basittir HTTP kimlik doğrulaması kullanın:

$USERS = array( 'foo' => 'bar' );

$user = (isset($_SERVER['PHP_AUTH_USER'])) ? $_SERVER['PHP_AUTH_USER'] : '';
$pass = (isset($_SERVER['PHP_AUTH_PW'])) ? $_SERVER['PHP_AUTH_PW'] : '';

if( !$user || !isset($USERS[$user]) || $USERS[$user] != $pass ) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    print '<h1>Error</h1>Authentication failed!';
    exit;
}

// if we made it this far the user logged in successfully!