搜索
首页后端开发php教程register_globals使用上的一些补充说明_PHP教程

register_globals是php.ini里的一个配置,这个配置影响到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']来接受传递过来的值。(注:当

的method属性为post的时候应该用$_POST['user_name']和$_POST['user_pass'])

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

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

那我们为什么要使用Off呢?

php以后的新版本默认都用Off,虽然你可以设置它为On,但是当你无法控制服务器的时候,你的代码的兼容性就成为一个大问题,所以,你最好从现在就开始用Off的风格开始编程。

现在还有一个问题就是,以前用On风格写的大量脚本怎么办?

如果你以前的脚本规划得好,有个公共包含文件,比如config.inc.php一类的文件,在这个文件里加上以下的代码来模拟一下(这个代码不保证100%可以解决你的问题,因为我没有大量测试,但是我觉得效果不错)。另外,这个帖子里的解决方法也可以参考一下:

<?php 
if ( !ini_get('register_globals') ) 
{ 
    extract($_POST); 
    extract($_GET); 
    extract($_SERVER); 
    extract($_FILES); 
    extract($_ENV); 
    extract($_COOKIE); 
    
    if ( isset($_SESSION) ) 
    { 
        extract($_SESSION); 
    } 
} 
?> 

register_globals = Off的情况不仅仅影响到如何获取从

、url传递过来的数据,也影响到session、cookie,对应的,得到session、cookie的方式应该为:$_SESSION[]、$_COOKIE。同时对于session的处理也有一些改变,比如,session_register()没有必要而且失效,具体的变化,请查看php manual里的Session handling functions

php manual 写到:

Variables provided to the script via the GET, POST, and COOKIE input mechanisms, and which therefore cannot be trusted. The presence and order of variable inclusion in this array is defined according to the PHP variables_order configuration directive.

$_REQUEST中间的内容实际上还是来源于$_GET $_POST $_COOKIE,缺点是无法判断变量到底来自于get post 还是cookie,对要求比较严格的场合不适用。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/752365.htmlTechArticleregister_globals是php.ini里的一个配置,这个配置影响到php如何接收传递过来的参数,如果你的问题是:为什么我的表单无法传递数据?为什么...
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
PHP安全性指南:如何防止跨站点脚本攻击PHP安全性指南:如何防止跨站点脚本攻击Jun 29, 2023 pm 01:40 PM

随着互联网的不断发展,网站的安全性问题也成为了一个非常重要的话题。在开发和维护网站时,我们必须十分警惕和防范各种潜在的安全威胁,其中跨站点脚本攻击(Cross-SiteScripting,简称XSS攻击)就是其中之一。本文将介绍PHP安全性指南,帮助你了解如何防止跨站点脚本攻击。跨站点脚本攻击是一种常见的网络攻击,它利用网站对用户输入的信任,将恶意脚本

在JavaScript中实现全局变量的安全性在JavaScript中实现全局变量的安全性Jun 15, 2023 pm 10:33 PM

随着JavaScript的流行,越来越多的网站和应用程序都依赖于JavaScript。然而,JavaScript中全局变量的使用可能存在安全问题。在此文中,我将介绍如何在JavaScript中实现全局变量的安全性。避免使用全局变量最好的方法是避免使用全局变量。在JavaScript中,所有变量都默认为全局变量,除非它们在函数中声明。因此,应尽可能使用局部变量

PHP API开发中的最佳安全性建议和实践PHP API开发中的最佳安全性建议和实践Jun 17, 2023 pm 01:58 PM

随着互联网技术的不断发展,越来越多的网站和应用程序采用了API接口来提供服务和数据交换。而PHP作为一种广泛应用于Web开发的脚本语言,也成为了API接口开发中的重要工具。然而,API接口的开发涉及到敏感数据的传输和处理,其安全性成为了不可忽视的重要因素。本文将介绍PHPAPI开发中的最佳安全性建议和实践,旨在为开发人员提供一些指导和帮助。使用HTTPS协

PHP加固API接口,提高安全性PHP加固API接口,提高安全性Jun 30, 2023 pm 11:07 PM

如何使用PHP加固API接口的安全性随着互联网的发展,API接口在网站开发中扮演着重要的角色。然而,API接口的安全性一直是开发者需要关注和加强的方面。由于API接口通常承载着敏感的用户数据和重要的业务逻辑,一旦被黑客攻击,就会产生严重的后果。为了确保API接口的安全性,开发者需要采取一系列的安全措施。本文将介绍如何使用PHP加固API接口的安全性。使用HT

PHP和Vue.js开发安全性最佳实践:防止执行未经授权的操作方法PHP和Vue.js开发安全性最佳实践:防止执行未经授权的操作方法Jul 05, 2023 pm 12:54 PM

PHP和Vue.js开发安全性最佳实践:防止执行未经授权的操作方法在现代Web应用程序开发中,安全性是至关重要的。保护用户数据和防止未经授权的操作是开发人员的首要任务。PHP和Vue.js是开发Web应用程序的常用技术,本文将介绍一些PHP和Vue.js开发中的最佳实践,以防止执行未经授权的操作方法。一、服务器端验证无论是在PHP还是在Vue.js中

Nginx安全性问题与应对策略Nginx安全性问题与应对策略Jun 11, 2023 pm 12:16 PM

Nginx是一款轻量级、高性能且可扩展的Web服务器和反向代理软件,因其稳定性和灵活性被广泛应用于互联网应用的架构中。然而,作为一个网络服务程序,任何时候都存在着安全问题,针对Nginx的安全风险,我们需要积极应对和改进。一、Nginx存在的安全问题1.文件包含漏洞:Nginx支持SSI语法(ServerSideInclude)可以直接引入其他文件的内容

PHP和Vue.js开发安全性最佳实践:防止命令执行攻击方法PHP和Vue.js开发安全性最佳实践:防止命令执行攻击方法Jul 06, 2023 pm 08:17 PM

PHP和Vue.js开发安全性最佳实践:防止命令执行攻击方法引言:在Web开发中,安全性是一个至关重要的方面。命令执行攻击是常见的攻击方式之一,攻击者通过注入恶意代码来执行系统命令,从而获取服务器的控制权。为了保护应用程序和用户的安全,我们需要采取一些预防措施。本文将介绍一些PHP和Vue.js开发中的安全性最佳实践,重点是防止命令执行攻击。我们将探讨一些常

PHP中的安全规范PHP中的安全规范May 24, 2023 am 08:31 AM

在网络时代,安全威胁一直存在。对于PHP开发中的安全问题,必须引起我们的关注。本文将介绍一些PHP中的安全规范。1.过滤用户输入在PHP开发中,用户输入经常成为攻击者攻击的目标。攻击者往往通过用户输入的方式注入恶意代码来实现攻击,比如SQL注入、XSS攻击等。为了防范这些攻击,我们应该始终过滤用户输入。其中,SQL注入是通过在网页表单或URL中嵌入SQL语句

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版