带隐藏按钮的登录脚本
5204 观看
7回复
116 作者的声誉
我一直在使用PHP和JavaScript来构建我父亲的网站。他希望将登录系统整合到他的网站中,并且我使用PHP进行系统设计。我的问题是如果该人登录,我该如何显示按钮?
例如 -您有主页,产品,关于我们和联系人。如果用户已登录,我想要经销商,经销商以及其他信息的按钮。所以我将有家,产品,关于我们,联系人,经销商(如果经销商登录),经销商(如果经销商登录),等等向前。
JavaScript是一个很好的方法,或者PHP,或者甚至两者兼而有之?使用JavaScript显示和隐藏按钮,使用PHP检查以查看要显示的按钮。
作者: Dennis 的来源 发布者: 2008 年 8 月 10 日回应 7
2像
13474 作者的声誉
如果使用javascript隐藏按钮,则会在应用程序中打开安全漏洞。恶意用户可以禁用javascript或应用自己的一些来绕过您的安全。
我建议使用PHP来选择是否渲染按钮。我经常在.NET中这样做。
每当他们尝试使用受限制的按钮时,您应该能够在服务器端检查用户的访问权限。
作者: EndangeredMassa 发布者: 2008 年 8 月 10 日19像
15834 作者的声誉
关于安全性,您不能相信来自客户端的内容:
- 访问者可以看到您的所有代码(HTML和Javascript,而不是PHP)并尝试一些东西
- 访问者甚至可能不使用浏览器; 使用脚本发送请求非常容易
这意味着隐藏按钮是良好的用户界面设计(因为如果您没有登录,则无法使用它们)。但它不是安全功能。安全功能是在服务器上检查访问者在每个需要它的操作之前登录。
如果您不打算显示按钮,将HTML和图像发送到浏览器然后使用Javascript隐藏它们没有用。我会用PHP检查。
作者: Christian Lescuyer 发布者: 2008 年 8 月 10 日1像
11494 作者的声誉
我们在工作中所做的是拥有一个库,提供诸如检查用户是否已登录等功能。例如:
<?php
require_once 'Auth.php';
// output some html
if (isLoggedIn()) {
echo 'html for logged in user';
}
// rest of html
对于只有经过身份验证的用户应该看到的页面,控制器会检查他们是否已登录,如果没有,则会将其重定向到登录页面。
<?php
public function viewCustomer($customerId) {
if (!isLoggedIn())
redirectToLoginPage();
}
作者: grom
发布者: 2008 年 8 月 11 日
8像
1421 作者的声誉
在您的菜单文件或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>
然后在需要auth的页面中执行以下操作:
<?php
require 'auth.php';
require_login();
?>
auth.php可能包含:
<?php
function loggedin(){
return isset( $_SESSION['loggedin'] );
}
function require_login(){
if( !loggedin() ){
header( 'Location: /login.php?referrer='.$_SERVER['REQUEST_URI'] );
exit;
}
}
?>
作者: Akira
发布者: 2008 年 8 月 11 日
1像
9169 作者的声誉
Christian Lescuyer所写的一切都是正确的。但是请注意,他说“我愿意”,而不是“你应该”。选择并不那么容易。
首先,安全性不是选择中的问题。执行操作时,应该在服务器上进行安全检查。哪个代码决定显示/隐藏导致该操作的按钮是无关紧要的。
这使得我们在Javascript中只显示了显示/隐藏逻辑的一个缺点 - 发送给用户的HTML比必要的大。这可能不是什么大问题。
但是,在PHP中显示/隐藏逻辑确实有一个减号。所需的PHP代码通常是标签汤。Akira的代码提供了一个很好的例子,说明它通常是如何完成的。
对应的Javascript代码可能看起来像这样:
if (logged())
{
elementSecretArea.style.display = "list-item";
}
(假设可以隐藏的元素显示为:默认为none)。
这种风格也允许很好的“Ajax”场景:用户看到没有秘密区域的页面,输入密码,看到秘密区域都没有刷新页面。
因此,如果您已经有一个脚本在文档加载时出于其他原因运行,我会认真考虑在那里显示/隐藏逻辑。
作者: buti-oxa 发布者: 2008 年 8 月 25 日0像
0 作者的声誉
基本上你在html中有你的菜单,比如<ul> <li>Home</li> </ul>
你</li>
在最后一项之后添加php 的列表:
<?php
if($session-logged_in) {
?>
<li>My Account</li>
<?php
}
?>
作者: ITGaWD
发布者: 2009 年 9 月 18 日
0像
473 作者的声誉
您所做的只是在用户登录系统时使用会话。你可以这样做
$_SESSION["UserId"] = $row['iduser'];
$_SESSION["UserType"] = $row['user_type'];
$_SESSION["UserName"] = $row['username'];
然后,您可以使用用户类型检查此用户,并执行此类可见的必需按钮
<?php
if( $_SESSION["UserType"] == 'Dealer'){
?>
<a href="your url" class="btn btn-primary" />
<?php
}
?>
作者: Nipun Tharuksha
发布者: 2019 年 7 月 3 日
来自类别的问题 :
- javascript 如何检测网页中使用了哪一个定义的字体?
- javascript JavaScript对象的长度
- javascript 从下拉框中获取文本
- javascript 带隐藏按钮的登录脚本
- javascript 如何使用Prototype自动调整textarea?
- javascript 使用JavaScript滚动溢出的DIV
- javascript Google Maps API - 类GLatLngBounds的问题
- javascript 在JavaScript中验证十进制数 - IsNumeric()
- javascript 如何使用命令行美化JavaScript代码?
- javascript 动态加载JavaScript文件
- php 你如何调试PHP脚本?
- php 在Htdocs之外创建XAMPP / Apache服务文件
- php 如何包含需要绝对路径的PHP文件?
- php 如何在PHP项目中找到未使用的函数
- php 在PHP中高效调整JPEG图像大小
- php mysqli或PDO-优缺点是什么?
- php 如何在没有后备数据库的情况下实现基于FORM的身份验证
- php 分析PHP脚本的最简单方法
- php PHP中的图像