阶段案例趣PHP网站开发实战,PHP基础案例第16章 阶段案例——趣PHP网站开发实战.ppt...

该案例详细介绍了用户登录、退出、验证码、自动登录、用户注册、头像上传及栏目管理等用户交互功能的实现。重点强调了安全性,如使用验证码防止恶意攻击,通过Session和Cookie管理用户登录状态,并在退出时清除相关信息。同时,提到了用户头像上传功能,允许用户个性化设置。
摘要由CSDN通过智能技术生成

16.3 案例实现 用户登录与退出——用户退出 打开view\common\top.html文件,修改用户登录后显示的“退出”链接,并在URL参数传递action=logout标识用户退出 在login.php中接收action参数,如果值为logout,表示用户需要退出,清除Session中保存的用户信息即可。 16.3 案例实现 验证码 思考:用户登录时,除了浏览器还有谁可以向服务器提交数据?会有什么影响? 答案:其他软件,从系统安全角度看,如果软件自动大批量向服务器提交表单,那么网站管理员的密码将会被穷举,导致管理员账号被盗取。 解决办法:验证码是一种防御手段 16.3 案例实现 验证码 通常验证码是一张带有文字的图片,要求用户输入图片中的文字 对于图片中的文字,人类识别非常容易,而软件识别则非常困难 因此,验证码是一种区分由人类还是由计算机操作的程序 16.3 案例实现 验证码 生成验证码文本,创建验证码类编写一个create()方法用于验证码文本的生成 生成验证码图像,编写show()方法,实现根据指定文本输出验证码图像 创建captcha.php文件,实现验证码图像的输出 在function.php中编写captcha_save()函数将验证码保存到Session中 在function.php 中编写captcha_check()函数用于验证码的验证 16.3 案例实现 用户注册 编写view\register.html文件,创建一个用户注册表单 创建register.php显示用户注册页面 在显示用户注册页面之前,添加代码,实现表单的接收、验证和处理 在验证成功后,调用register()函数实现新用户的注册 注册成功,将用户信息保存到Session,然后跳转到首页 16.3 案例实现 记录登录状态 为增强用户体验,大部分网站在用户登录的表单中提供“下次自动登录”或“记住登录状态”的复选框,当用户选中后进行登录,服务器就会利用Cookie保存用户的登录信息。在保存后,如果Session已经过期,则可以利用Cookie进行登录。 16.3 案例实现 记录登录状态 在view\login.html中增加一个“记住登录状态”的复选框 在common\config.php中添加Ccookie的的密钥和默认有效期,用于提高安全性 在处理登录表单的密码验证成功后,调用login_success()函数之前,处理用户是否选中“记住登录状态”复选框 在function.php中编写autologin_cookie()函数用于将数据库中已经保存的密码再次进行加密,用于限制Cookie密码的有效时间 16.3 案例实现 记录登录状态 编写autologin_check()函数验证Cookie密码的有效性 编写login.php,判断当前用户是否已经在Cookie中保存了登录状态 当用户保存了登录状态时,在view\login.html中显示已保存的用户信息 用户保存登录状态,也需要在表单中输入验证码才能进行登录 16.3 案例实现 记录登录状态 另外,“记住登录状态”功能通常是提供给在登录状态下直接关闭浏览器的用户,而若用户单击了网页中的“退出”链接,则表示用户需要完全退出。 因此,下面修改login.php中实现用户退出的代码,在清除Session中的用户信息后,再清除Cookie中保存的登录信息 16.3 案例实现 记录登录状态 直接退出浏览器 再次点击登录 16.3 案例实现 用户头像上传 在网页顶部显示的用户名,进入个人中心,设置头像 编写user.php,实现在用户登录的情况下显示上传头像的页面user.html 在user.html中,若用户头像不为空时,显示“./uploads/avatar/”中保存的用户头像,否则显示默认头像“./images/noavatar.gif” 继续编写user.php,实现接收用户上传头像的表单,并在input()函数中增加对$_FILES数组的支持 编写user_avatar_upload()函数用于实现头像文件上传 16.3 案例实现 用户头像上传 16.3 案例实现 栏目管理——设计栏目表 在本项目中,栏目是对内容的分类,用户在发布内容时可以选择其所属的栏目。由于栏目会在网页的右侧边栏显示,为了显示效果,网站管理员可以为栏目设置显示图片。 16.3 案例实现 栏目管理——设计栏目表 字段 数据类型 说明 id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT 栏目id name VARCHAR(12) DEFAULT '' NOT NULL 栏目名称 cover VARCHAR(255) DEFAULT '' NOT NULL 图片地址 sort IN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值