首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP会话(Session)实现用户登陆功能

    对比起 Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 Session 的使用。 由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多。 对于 Cookie 来说,假设我们要验证用户是否登陆,就必须在 Cookie 中保存用户名和密码(可能是 md5 加密后字符串),并在每次请求页面的时候进行验证。如果用户名和密码存储在数据库,每次都要执行一次数据库查询,给数据库造成多余的负担。因为我们并不能 只做一次验证。为什么呢?因为客户端 Cookie 中的信息是有可能被修改的。假如你存储 $admin 变量来表示用户是否登陆,$admin 为 true 的时候表示登陆,为 false 的时候表示未登录,在第一次通过验证后将 $admin 等于 true 存储在 Cookie,下次就不用验证了,这样对么?错了,假如有人伪造一个值为 true 的 $admin 变量那不是就立即取的了管理权限么?非常的不安全。 而 Session 就不同了,Session 是存储在服务器端的,远程用户没办法修改 Session 文件的内容,因此我们可以单纯存储一个 $admin 变量来判断是否登陆,首次验证通过后设置 $admin 值为 true,以后判断该值是否为 true,假如不是,转入登陆界面,这样就可以减少很多数据库操作了。而且可以减少每次为了验证 Cookie 而传递密码的不安全性了(Session 验证只需要传递一次,假如你没有使用 SSL 安全协议的话)。即使密码进行了 md5 加密,也是很容易被截获的。 当然使用 Session 还有很多优点,比如控制容易,可以按照用户自定义存储等(存储于数据库)。我这里就不多说了。 Session 在 php.ini 是否需要设置呢?一般不需要的,因为并不是每个人都有修改 php.ini 的权限,默认 Session 的存放路径是服务器的系统临时文件夹,我们可以自定义存放在自己的文件夹里,这个稍后我会介绍。 开始介绍如何创建 Session。非常简单,真的。 启动 Session 会话,并创建一个 $admin 变量:

    02

    PHP开发工具及环境配置

    1、EditPlus 一套功能强大,可取代记事本的文字编辑器,拥有无限制的Undo/Redo、英文拼字检查、自动换行、列数标记、搜寻取代、同时编辑多文件、全屏幕浏览功能。而它还有一个好用的功能,就是它有监视剪贴簿的功能,能够同步于剪贴簿自动将文字贴进EditPlus的编辑窗口中,让你省去做贴上的步骤。另外它也是一个好用的HTML编辑器,除了可以颜色标记HTML Tag (同时支持C/C++、Perl、Java)外,还内建完整的HTML和CSS1指令功能,对于习惯用记事本编辑网页的朋友,它可帮你节省一半以上的网页制作时间,若你有安装IE 3.0以上版本,它还会结合IE浏览器于EditPlus窗口中,让你可以直接预览编辑好的网页(若没安装IE,也可指定浏览器路径)。 这是款编写PHP时使用最多的文本编辑器之一,方便使用,很多PHP人士都喜欢用它。 不过它是共享软件,需要花Money的。不过这年头都用大家都用破解的,要找到破解版很容易的,所以我就不放下载地址了…… 2、Zend Studio 用文本编辑器虽然很方便,可是开发一套大型的系统,很多人还是喜欢用IDE集成环境。所以这款软件很适合你。 Zend Studio 是专业开发人员在使用PHP整个开发周期中唯一的集成开发环境 (IDE),它包括了PHP所有必须的开发部件。通过一整套编辑、调试、分析、优化和数据库工具,Zend Studio 加速开发周期,并简化复杂的应用方案。 Zend Studio主要组件 1 专业的集成开发环境 内置 编辑器, 调试器, 以及 帮助文档 2 Windows, Linux, Mac 等多个操作系统版本 3 多语言支持 4 专业的编辑器 5 关键字、语法加亮显示 (PHP, HTML, XHTML, and JavaScript) 6 XML & CSS 的关键字、语法加亮显示 7 代码模板 8 支持 PHP 4 and PHP 5 9 代码自动完成功能 10 PHP Code (+PHPDoc) 分析功能 11 内部调试器 12 代码摘录 13 PHP 代码分析 14 远程调试器 15 Remote Profiler 16 数据库连接以及集成查询 ,适用于 : IBM DB2/Cloudscape, MySQL, Oracle Microsoft SQL Server, SQLite, and PostgreSQL 17 NEW! Set of SQL Tools: SQL Query Editor, SQL Explorer, and more. 18 NEW! PHPDocumentor 19 CVS 集成 ,方便团队开发 20 FTP 高度集成 原来Zend Studio都是用java开发的,后来直接投入Eclipse的怀抱了。最新的Zend Studio 6.0就被称为Zend Studio for Eclipse 6.0。 编辑器、调试器、漂亮的外观加上Zend特有的一些属性,要有的都有了,真是非常完美的PHP开发集成环境啊。 不过这个还是要注册的……从官方下载的会有一个月的试用期。(好工具都要注册,要钞票的……) 因为Zend Studio for Eclipse刚出来,比较难找到注册码,在一个PHP论坛有个家伙在网上找了3个小时才找到注册机……这里我就无私奉献一下吧。(其实动点脑筋很快就找到了) 官方下载地址: http://downloads.zend.com/studio-eclipse/6.0.0/ZendStudioForEclipse-6_0_0.exe 我把注册机上传到网盘里,自己下吧: http://www.fs2you.com/files/7d645bf8-db9c-11dc-83bc-0014221b798a/ 以上说的都是共享软件,都是要钞票的。这样找一些破解版本来用,实在会有些过意不去。其实PHP作为开源语言,自然会有一些很不错的开源软件。 3、Norepad++ Notepad++是一款非常有特色的编辑器,是开源软件,可以免费使用。 功能有: ①、内置支持多达27种语法高亮度显示(囊括各种常见的源代码、脚本,值得一提的是,完美支持.nfo文件查看),也支持自定义语言; ②、可自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,代码显示得非常有层次感!这是此软件最具特色的体现之一; ③、可打开双窗口,在分窗口中又可打开多个子窗口,允许快捷切换全屏显示模式(F11),支持鼠标滚轮改变文档显示比例,等等; ④、提供数个特色东东,如邻行互换位置、宏功能,等等…现在网上有很多文件编辑器,这个却是不可多得的一款,不论是日常使用还是手写编程代码,都能让你体会

    01

    Laravel学习教程之IOC容器的介绍与用例

    前言 Laravel使用IoC(Inversion of Control,控制倒转,这是一个设计模式,可以先查看下百科)容器这个强有力的工具管理类依赖。依赖注入(也是一种设计模式,一般用于实现IoC)是一个不用编写固定代码来处理类之间依赖的方法,相反的,这些依赖是在运行时注入的,这样允许处理依赖时具有更大的灵活性。 理解 Laravel IoC容器是构建强大应用程序所必要的,也有助于Laravel 核心本身。下面话不多说了,来一起看看详细的介绍吧。 基本用例 绑定一个类型到容器 IoC 容器有两种方法来解决依赖关系:通过闭包回调或者自动解析。首先,我们来探究一下闭包回调。首先,需要绑定一个“类型”到容器中:

    01
    领券