分享下PHP register_globals 值为on与off的理解_php基础

register_globals的值可以设置为:On或者Off,我们举一段代码来分别描述它们的不同。

代码:

复制代码 代码如下:

<form name="frmTest" id="frmTest" action="URL">
<input type="text" name="user_name" id="user_name">
<input type="password" name="user_pass" id="user_pass">
<input type="submit" value="login">
</form>

当register_globals=Off的时候,下一个程序接收的时候应该用$_GET['user_name']和$_GET['user_pass']来接受传递过来的值。(注:当<form>的method属性为post的时候应该用$_POST['user_name']和$_POST['user_pass'])

当register_globals=On的时候,下一个程序可以直接使用$user_name和$user_pass来接受值。

顾名思义,register_globals的意思就是注册为全局变量,所以当On的时候,传递过来的值会被直接的注册为全局变量直接使用,而Off的时候,我们需要到特定的数组里去得到它。所以,碰到上边那些无法得到值的问题的朋友应该首先检查一下你的register_globals的设置和你获取值的方法是否匹配。(查看可以用phpinfo()函数或者直接查看php.ini)

下面来看看这里有什么错误?

看看下面的这段PHP脚本,它用来在输入的用户名及口令正确时授权访问一个Web页面:

复制代码 代码如下:

<?php
// 检查用户名及口令
if ($username == 'kevin' and $password == 'secret')
$authorized = true;
?>
<?php if (!$authorized): ?>
<!-- 未授权的用户将在这里给予提示 -->
<p>Please enter your username and password:</p>
<form action="<?=$PHP_SELF?>" method="POST">
<p>Username: <input type="text" name="username" /><br />
Password: <input type="password" name="password" /><br />
<input type="submit" /></p>
</form>
<?php else: ?>
<!-- 有安全要求的HTML内容 -->
<?php endif; ?>

上面的代码中存在的问题是你可以很容易地获得访问的权力,而不需要提供正确的用户名和口令。只在要你的浏览器的地址栏的最后添加?authorized=1。因为PHP会自动地为每一个提交的值创建一个变量 -- 不论是来自动一个提交的表单、URL查询字符串还是一个cookie -- 这会将$authorized设置为1,这样一个未授权的用户也可以突破安全限制。

时间: 2024-10-05 00:18:38

分享下PHP register_globals 值为on与off的理解_php基础的相关文章

分享下页面关键字抓取components.arrow.com站点代码_php实例

复制代码 代码如下: <?php /** * HOST: components.arrow.com */ //set_time_limit(0); // base function function curl_get($url, $data = array(), $header = array(), $timeout = 15, $port = 80, $reffer = '', $proxy = '') { $ch = curl_init(); if (!empty($data)) { $da

Apache+php+mysql在windows下的安装与配置图解(最新版)_php基础

先准备好软件: Apache官方下载地址:apache_2.0.55-win32-x86-no_ssl.msi,更多版本在这里: php官方下载地址:php-5.0.5-Win32.zip,更多镜像下载地址,更多版本下载: mysql官方下载地址:mysql-4.1.14-win32.zip,更多镜像下载地址,更多版本下载. 一.安装Apache,配置成功一个普通网站服务器 运行下载好的"apache_2.0.55-win32-x86-no_ssl.msi",出现如下界面: 出现Apa

php下目前为目最全的CURL中文说明_php基础

PHP中的CURL函数库(Client URL Library Function) curl_close - 关闭一个curl会话 curl_copy_handle - 拷贝一个curl连接资源的所有内容和参数 curl_errno - 返回一个包含当前会话错误信息的数字编号 curl_error - 返回一个包含当前会话错误信息的字符串 curl_exec - 执行一个curl会话 curl_getinfo - 获取一个curl连接资源句柄的信息 curl_init - 初始化一个curl会话

Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]_php基础

需要大家细心和耐心.这些在安装过程中大家将会体会到.不正确的地方大家指正批评.本例是在red hat 9下 php5.2.1 apache2.2.4 MySQL5.0.37 phpmyadmin2.10.0.2 ZendOptimizer-3.2.6 libxml2-2.6.11 的安装与配置 其中 libxml2-2.6.11 我下载在 /usr/ 目录下 其他都下载在 /usr/down 目录下.这些目录在下面安装过程中要用到 关于windows下的php环境配置可以参考 http://ww

趁热打铁分享下自己提升PR值的经验

许多人认为网站的PR值高就意味着排名靠前,其实这样理解是错误的.什么是网站的权重?权重即网站在SEO中的重要性,权威性.SEO给一个网站的一种待遇.而排名,主要是具体某个关键词在百度上面的排名.&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; 返回到网站上,我们也同样可以理解为,在一个权重高的网站,其各个网页的排名也就高.注意,这里说的是各个网页,而不是单一的网页.当然,影响网页排名的因素很多,包括页面优化,外链等

分享下个人在购买友情链接方面的技巧

摘要: 内容为王,外链为皇.外链的重要性就不用多说了,许多站长做seo都在考虑如何做高权重外链上下功夫,友情链接自然算是一种非常简单直接的高权重外链方法.而购买链接,又是比自 内容为王,外链为皇.外链的重要性就不用多说了,许多站长做seo都在考虑如何做高权重外链上下功夫,友情链接自然算是一种非常简单直接的高权重外链方法.而购买链接,又是比自己日积月累的链接来的容易,不费吹灰之力就能获得PR和百度权重都极高外链.然而,随着链接市场的不断发展,许多问题并没有我们想象的那么简单了,商家把自己的链接服务

BGP修改NEXT_HOP下一跳属性值的几种方法

本博文将为您详细介绍BGP修改NEXT_HOP下一跳属性值的几种方法,包括通过next-hop-self变更next-hop属性,通过route-map修改BGP路由NEXT_HOP属性值等.1.通过next-hop-self可以变更next-hop属性 498)this.w idth=498;' onmousewheel = 'javascript:return big(this)' src="http://s8.51cto.com/wyfs01/M02/44/C6/wKioOVK7h9TS_

如何根据指定元素值查找XML中同一支下其他元素值

问题描述 例如我有一个XML如下:引用 <?xmlversion="1.0"encoding="UTF-8"?><Users><User><name>EricSun</name><description>HelloI'mfromDalian</description></User><User><name>Ray</name><de

c-输入一个双精度实数x,计算并输出下式的值

问题描述 输入一个双精度实数x,计算并输出下式的值 /*输入一个双精度实数x,计算并输出下式的值,直到最后一项的绝对值小于10-5(保留两位小数),s=x-x2/2!+x3/3!-x4/4!+- 说明:(1)scanf之前无需用printf给提示信息. (2)求和结果用"%.2f"控制输出格式.*/ #include #include int main() { int i,n,fac=1,sign=1; double sum=0,x,tem=0; scanf("x=%lfn&