php - 创建 PHP 登录页面的最佳方法是什么?

标签 php authentication session

我是 PHP 的新手,正在寻找一些关于如何在 PHP 中实现身份验证的最佳实践。

我是 Adob​​e 的传播者,让我烦恼的一件事是当人们使用 Flex/Flash 作为登录屏幕时。所以我想写一篇关于使用 HTML/PHP 登录页面然后在设置 session 后将 session 信息传递给 Flex 的博文/示例。

我仍然在思考 PHP 需要什么来创建有效 session 以及它如何设置 cookie。因此,与此具体相关的示例或信息将非常有帮助。

提前致谢

=瑞安ryan@adobe.com

最佳答案

如前所述,要在 PHP 中创建稳健且安全的身份验证系统,需要做很多工作,但基本原理很容易掌握。

您要做的第一件事是调用 session_start()。完成此操作后,您可以使用 $_SESSION 超全局变量获取和设置 session 变量:

session_start();
$_SESSION['foo'] = $foo;
$bar = $_SESSION['bar'];

完成此操作后,您可以在成功登录后为当前用户设置登录详细信息,并让它们在页面上持久存在(记住在使用它们之前调用 session_start)。此外,必须在将任何内容发送到浏览器之前调用 session_start

但是,需要考虑一些安全问题,例如 session 固定和 cookie 盗窃。例如,一种固定 session 的方法是在使用 PHP 的 session_regenerate_id(或类似的东西)提升权限时重新生成用户的 session ID。

PHP Security Consortium有很多有用的信息。

可以使用 setcookie 操纵 Cookie功能。

关于php - 创建 PHP 登录页面的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2045702/

相关文章:

php - 如何强制 PHP 使用字符串作为数组键?

java - 尽管我使用 SharedPrefs 自动登录,但它们似乎已被删除

c# - Asp.net HttpCookie 指定端口

session - Google Scripts Web App 中的 Cookie

java - jsp页面中无法解析类

php - 如何在创建 wordpress 主题时包含 css 文件?

php - 在另一个查询中使用查询中的值

php - 网站模板/设计建议-后端

php - SOAP wsdl,授权

oracle - Hibernate 统计日志记录