带隐藏按钮的登录脚本

Den*_*nis 19 javascript php

我一直在使用PHP和JavaScript来构建我父亲的网站.他希望将登录系统整合到他的网站中,并且我使用PHP进行系统设计.我的问题是如果该人登录,我该如何显示按钮?

例如 -您有主页,产品,关于我们联系人.如果用户已登录,我想要经销商,经销商以及其他信息的按钮.所以我将有家,产品,关于我们,联系人,经销商(如果经销商登录),经销商(如果经销商登录),等等向前.

JavaScript是一个很好的方法,或者PHP,或者甚至两者兼而有之?使用JavaScript显示和隐藏按钮,使用PHP检查以查看要显示的按钮.

Chr*_*yer 19

关于安全性,您不能相信来自客户端的内容:

  • 访问者可以看到你的所有代码(HTML和Javascript,而不是PHP)并尝试一些东西
  • 访问者甚至可能不使用浏览器; 使用脚本发送请求非常容易

这意味着隐藏按钮是良好的用户界面设计(因为如果您没有登录,则无法使用它们).但它不是安全功能.安全功能是在服务器上检查访问者在每个需要它的操作之前登录.

如果您不打算显示按钮,将HTML和图像发送到浏览器然后使用Javascript隐藏它们没有用.我会用PHP检查.


Aki*_*ira 9

在您的菜单文件或w/e中,您放置:

<? require 'auth.php' ?>
<ul>
    <li><a href="">Home</a></li>
    <li><a href="">Products</a></li>
    <? if( loggedin() ): ?><li><a href="">Secret area</a></li><? endif; ?>
</ul>
Run Code Online (Sandbox Code Playgroud)

然后在需要auth的页面中执行以下操作:

<?php 
    require 'auth.php';
    require_login();
?>
Run Code Online (Sandbox Code Playgroud)

auth.php可能包含:

<?php
    function loggedin(){
        return isset( $_SESSION['loggedin'] );
    }

    function require_login(){
        if( !loggedin() ){
            header( 'Location: /login.php?referrer='.$_SERVER['REQUEST_URI'] );
            exit;
        }
    }
?>
Run Code Online (Sandbox Code Playgroud)