PHP 安全手册 第六条 表单 不希望变动的数据要设置为常量 使用session 进行跟踪
2012-01-29 16:10
806 查看
define('EMAIL', 'chris@example.org');
如果用上面的语句进行定义,EMAIL在整个脚本运行中是一个值为chris@example.org的不变的常量,甚至在你把试图把它重新赋值时也不会改变(通常是不小心)。例如,下面的代码输出为chris@example.org (试图重定义一个常量会引起一个级别为Notice的报错信息)如下:。
CODE:
<?php define('EMAIL', 'chris@example.org'); define('EMAIL', 'rasmus@example.org'); echo EMAIL; ?>
更加完美的方法为 使用SESSION进行跟踪
如果使用session跟踪,可以很方便地避免上述情况的发生:
CODE:
<?php session_start(); $clean = array(); $email_pattern = '/^[^@\s<&>]+@([-a-z0-9]+\.)+[a-z]{2,}$/i'; if (preg_match($email_pattern, $_POST['email'])) { $clean['email'] = $_POST['email']; $user = $_SESSION['user']; $new_password = md5(uniqid(rand(), TRUE)); if ($_SESSION['verified']) { /* Update Password */ mail($clean['email'], 'Your New Password', $new_password); } }
相关文章推荐
- Angular使用ng-messages与PHP进行表单数据验证
- PHP中使用Filter进行数据安全过滤
- PHP中使用Filter进行数据安全过滤
- PHP中使用Filter进行数据安全过滤
- Angular使用ng-messages与PHP进行表单数据验证
- PHP 安全手册 第八条 保护一些重要的文件,拒绝其它人进行访问
- php笔记之:数据类型与常量的使用分析
- PHP使用正则匹配进行表单验证案例
- 使用CodeIgniter来调用淘宝SDK数据进行PHP开发
- PHP安全-跟踪数据
- PHP使用session防止表单重复提交
- 使用JSP代码和使用JavaScript代码进行表单数据验证有什么不同?
- 解决问题:vs 使用命令行参数调试时出现"当前项目设置指定将使用特定的安全权限对该项目进行调试.在此模式下,命令行参数将不会传递给可执行文件."
- 使用RSA对C++ 客户端和 PHP 服务端之间通信的数据进行加密
- 如何使得中文不被 json_encode 不编码成 unicode PHP 浏览:9722 2014年08月14日 使用 php 自带的 json_encode 函数对数据进行编码时,中文都会变成
- 在php中直接使用socket编程对memcached缓存进行增删改查数据
- PHP安全编程:可用性与数据跟踪
- PHP安全编程:表单与数据安全
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- 【php】 PHP 使用 PECL/SSH2 进行安全的资料传输