PHP Session使用
在PHP开发中对比起Cookie,session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制.由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多。Session 是存储在服务器端的,远程用户没办法修改 session 文件的内容,因此我们可以单纯存储一个 $admin 变量来判断是否登陆,首次验证通过后设置 $admin 值为 true,以后判断该值是否为 true,假如不是,转入登陆界面,这样就可以减少很多数据库操作了。而且可以减少每次为了验证 Cookie 而传递密码的不安全性了(session 验证只需要传递一次,假如你没有使用 SSL 安全协议的话)。即使密码进行了 md5 加密,也是很容易被截获的。PHP Session使用在 php.ini 一般不需要的,因为并不是每个人都有修改 PHP.ini 的权限,默认 session 的存放路径是服务器的系统临时文件夹,我们可以自定义存放在自己的文件夹里.开始介绍如何创建 session。非常简单,真的。启动 session 会话,并创建一个 $admin 变量:
// 启动 session session_start(); // 声明一个名为 admin 的变量,并赋空值。 $_session["admin"] = null; ?>
如果你使用了 Seesion,或者该 PHP 文件要调用 Session 变量,那么就必须在调用 Session 之前启动它,使用 session_start() 函数。其它都不需要你设置了,PHP 自动完成 session 文件的创建。执行完这个程序后,我们可以到系统临时文件夹找到这个 session 文件,一般文件名形如:sess_4c83638b3b0dbf65583181c2f89168ec,后面是 32 位编码后的随机字符串。用编辑器打开它,看一下它的内容:
一般该内容是这样的结构:
$posts = $_POST; // 表单提交后...
foreach ($posts as $key => $value)
{
$posts[$key] = trim($value); // 清除一些空白符号
}
$password = md5($posts["password"]);
$username = $posts["username"];
$query = "SELECT `username` from `user` WHERE `password` = '$password'";
$userInfo = $DB->getRow($query); // 取得查询结果
if (!empty($userInfo))
{
if ($userInfo["username"] == $username)
{
session_start
相关文档:
一、 注入式攻击的类型
可能存在许多不同类型的攻击动机,但是乍看上去,似乎存在更多的类型。这是非常真实的-如果恶意用户发现了一个能够执行多个查询的办法的话。本文后面,我们会对此作详细讨论。
如果你的脚本正在执行一个SELECT指令,那么,攻击者可以强迫显示一个表格中的每一行记录-通过把一个例如"1=1"这 ......
最近写一个关于读取中文文件名的小CASE中遇到了不PHP不支持中文文件名的问题
我的环境:
WINDOWS+Appach +mysql
php页 MYSQL均为编码UTF-8
解决方法如下:
在MYSQL中取出的中文文件名转换其编码
$fileName=iconv("UTF-8","GBK",$fileName); ......
操作系统CentOS 5.3
系统安装完成后,安装必要的包
yum install autoconf gcc gcc-c++ libjpeg libjpeg-level
libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs ......
PDO为何物
POD(PHP Data Object)扩展在PHP5中加入,PHP6中将默认识用PDO连接数据库,所有非PDO扩展将会在PHP6被从扩展中移除。该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题。
我是配置在windows下做开发用的。
PDO的目标
提供一种轻型、清晰、方便的 API
统 ......
先安装apache http server 一路next;
再安装php,注意选择 Apache 2.2.x Module;
安装结束以后,还需要修改 Apache 的配置文件。文件路径为
C:\Program Files\Apache
Software Foundation\Apache2.2\conf\httpd.conf。
用 Notepad 打开
httpd.conf,在文件最后有以 #BEGIN PHP INSTALLER EDITS - RE ......