使用 PHP 技术进行网站建设的安全性解析 如果没有将 $authorized 初始化为“false ”, $authorized 又 PHP 超文本预处理器 是一种服务器端 HTML 嵌入式的 脚本语言 ,它的多平台特性使其可以无缝地运行在所有的主 是全局变量 ,用户利用”http :/ / auth. php ? authorized = 1”可轻 流操作系统上 ,它也支持大多数的Web 服务器和很多种类的 松绕过“if ( $authorized) 语句”。 数据库[1] 。 此外 ,在 PHP 程序中,可以使用 include 和 require 等命令 由于 PHP 是一种功能强大的语言和解释器 ,无论作为 来包含本地和远程文件 ,从而对文件进行分类 ,简化程序结 Web 服务器模块还是作为单独的CGI 程序安装 ,都能访问文 构 ,实现代码复用 ,提高了代码的可读性和可维护性。但是 , 件、执行命令或者建立到服务器的网络连接 ,但是如果使用不 当,则会带来严重的安全问题。 分代码如下: < ?php 1 PHP 技术网站常见安全隐患 if ( $ok = = 1) $lang = "cn/ index.php" ; / / 如果ok = 1 ,则选择中文网页 1. 1 全局变量问题 if ( $ok = = 2) 在 PHP 4. 2. 0 以前的版本中,所有外界变量默认都被设 $lang = "eng/ index.php" ; / / 如果ok = 2 ,则选择英文网页 ( ) include ( $lang) ; 置成全局性的变量 register-globals = On ,此时脚本程序可接 受任何用户输入 ,并将用户输入 自动作为全局变量。由于 ?> PHP 中的变量无须初始化 ,服务器脚本无法判断该变量是事 ( ) 先定义的还是用户刚刚输入的数据 ,因而都被认为是合法输 lang = / etc/ passwd 或lang = 其他网站恶意代码 ”,那么就有可 入 ,这样就留下了安全隐患,入侵者则可用 GET 等操作轻松 能泄露或删除系统重要信息。 骗过相关认证。如下面的例子: 由于以上原因, 从 4. 1. 0 版本开始 , PHP 已逐步废弃 < ?php register-globals 指令 ,并提供了一组特殊定义的数组 $- GET , / / 如果用户是合法的, $authorized = true $-POST , $COOKIE , $- SERVER , $- ENV , $-REQUEST 和 $- if (authenticated-user () ) SESSION 。这些数组在全局范围内自动生效 ,是自动全局变 { $authorized = true ;} 量。在“register-globals = off ”的情况下 ,要求使用 $- GET[ ′id′] if ( $authorized) 旗下_E网中国(#) ,专业做网站、网站建设。从事网络信息化建设应用,提供网站建设、网页设计、域名、空间租用、模板定制、平面设计、网络推广、搜索优化等服务等。 郑州亚龙软件有限公司(www.yeloon.com),从事网络、软件信息化建设应用,专注软件开发、软件定制、ERP系统、进销存管理系统、客户关系管理系统等服务。基于互联网络,我们为您提供全面的电子商务咨询与解决方案。 公司自主研发的产品有:ERP系统,客户关系管理(CRM)系统,进销存管理系统,学校收费管理系统。 地址: 郑州市东风路天明路交叉路口向东天明森林国际公寓1号楼6层 客服QQ: 3711121,999706,80031367 联系电话: 0371-55512385,55512365,88886548
|
|
|
|
|