日安。
我有关于登录系统的问题,这困扰了我很长时间。为此,我想让您想象一下,我有2页login.php和userpage.php。login页面包含输入用户名和密码的字段。而userpage包含有关丢失用户的所有信息。当用户输入数据时,某个类Connection会在数据库中检查他,如果用户存在,则创建一个会话。
login.php到userpage.php的重定向时,应该如何重定向用户数据?(我应该使用全局数组(如$_SESSION)来传输信息,还是应该从用户页面再次连接数据库?)userpage.php创建一些多线程(不要严格判断,我是新手),以便为同时登录的多个用户创建?userpage.php为不同的用户显示不同的链接和信息,为我显示所有的信息。membership.php被查看?(除了使用header之外,还有其他方法吗?)require和require_once在login.php和userpage.php上被查看?发布于 2014-05-12 07:29:28
( 1.)在创建从login.php到userpage.php的重定向时,应该如何重定向用户数据?(我应该使用全局数组(如$_SESSION)来传输信息,还是应该从用户页面再次连接数据库?)。
每次要获取用户数据时,都需要连接到db。当用户成功登录时,您可以创建一个会话来存储用户的唯一属性,比如$_SESSION['id'],并且可以在任何页面上使用该值查询db并获取必要的用户数据。
( 2.)我是否应该为userpage.php创建一些多线程(不严格判断,我是新手),以便为同时登录的多个用户创建?
不,你不需要担心用户同时连接。服务器可以处理这个问题。当您有大约一百万用户时,您可以开始考虑这一点。(尽管如此,我还是不太确定。不幸的是,我从来没有遇到过这个问题;)
( 3.)我应该如何保护信息(代码方面),因为很难阅读?(例如,Facebook页面源代码。因为我不想让一些“坏人”来查看我的资料)和其他东西。
您不能阻止任何人看到您的标记和样式,即html和css,或者任何客户端脚本,比如javascript。但是,您的php是服务器端的,没有显示在源代码中。“坏蛋”将无法查看源代码来查看您的db连接、php逻辑等等。
( 4.)我怎么能让一些用户看到其他用户做不到的事情呢?例如,userpage.php为不同的用户显示不同的链接和信息,为我显示所有的信息.。
有不同的方法可以采取。最简单的方法可能是将用户的“权限级别”存储在db中,然后在每次加载内容时检查它。例如,
if ($user['permission']==1)
// Show something
elseif ($user['permission']==2)
// show something else( 5.)如何防止查看membership.php?(除了使用标头之外,还有其他方法吗?)。
最简单的方法是检查是否有活动会话,如果没有,则重定向:
if (!isset($_SESSION['id']))
header("Location: login.php");( 6.)如何防止我的需求和require_once在login.php和userpage.php上被查看?
不太清楚这是什么意思,但请考虑以下几点:require和require_once与直接包含在文件中的代码完全相同。如果您指的是客户通过点击“视图源”直接查看它们,请不要担心--参见问题3的答案。
注:
这些答案都很简单,还有很多其他的复杂问题要考虑。有些东西可能没有道理,但我不会过多地操心。我建议从小开始-找到一个或两个不错的教程,如何创建一个简单的用户数据库,注册,登录页面,并从那里开始。你在这里得到的任何答案都不会取代研究、实践和尝试与错误。从小事做起,事情就会随着你的进步而迅速变得清晰起来。
发布于 2014-05-12 07:18:50
session_start(),则需要userpage.php页面以及页面的其余部分。关于http://www.wikihow.com/Create-a-Secure-Login-Script-in-PHP-and-MySQL的更多信息发布于 2014-05-12 07:36:03
考虑到你说的事实,你是新手,我也会假设登录系统是更多的实践,而不是一个现实世界的应用程序。
现在,按点回答您的问题。
SESSION变量中存储数据是alright.However,不要在SESSIONS.I中存储太多的数据,建议只为用户存储用户is,并使用它在userpage.php中收集和显示信息。随着应用程序变得越来越大,您肯定需要在每个单独的页面中建立连接。javascript & css-u可能会使it.But变得更小,而it.But仍然不能使客户端安全。$_SESSION['admin'] =true的方法。NEXT相同if-else,并限制header.php中的代码以及通过require和require_once包含的页面的显示。这是一个非常基本的guide.Your策略,取决于应用程序的复杂性以及是否/何时开始使用framweorks。登录愉快!!
将 wrt添加到应用程序结构中。考虑到您的最终产品将是一个允许用户注册和登录/注销的系统,我建议首先使用以下结构。
结构-
index.php
|--action
|---register.php
|---logged_in_user_landing.phpIf yes,action/logged_in_user_landing.php else包括action/register.php。
随着操作的增加,您可以添加if-else并相应地包含更多的页面。index.php (通过表单操作)。这是一种非常简单的体系结构,它应该可以使u started.Its成为一种基于控制器的体系结构,并且在将来进入MVC体系结构时将对您有所帮助。
https://stackoverflow.com/questions/23603052
复制相似问题