如何通过了解管理页面网址来阻止管理页面的访问?

Raj*_*kar 1 html php authentication .htaccess

如果有人知道管理页面的网址,例如www.example.com/admin.php,那么他们可以通过直接访问该网址轻松访问该页面.如何限制这一点.请帮忙

men*_*sch 7

你永远不应该把管理部分公之于众.你不能依靠默默无闻,授权是要走的路.您可以使用.htacces(如此处所述)或依赖PHP来完成此操作.下面是一个粗略的例子.

下面是一个简单的登录实现.如果密码正确,则允许用户转到admin.php.您应该阅读会话的PHP手册,因为会话标题应该出现在登录页面后面的每个页面上.密码处理也可以更安全地处理.

<?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>
Run Code Online (Sandbox Code Playgroud)