찾다
백엔드 개발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으로 문의하세요.
在JavaScript中实现全局变量的安全性在JavaScript中实现全局变量的安全性Jun 15, 2023 pm 10:33 PM

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

PHP安全性指南:如何防止跨站点脚本攻击PHP安全性指南:如何防止跨站点脚本攻击Jun 29, 2023 pm 01:40 PM

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

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开发中的安全性最佳实践,重点是防止命令执行攻击。我们将探讨一些常

Vue集成WebSockets时的安全性问题与解决方案Vue集成WebSockets时的安全性问题与解决方案Jun 11, 2023 pm 04:48 PM

随着Web应用程序的快速发展,越来越多的开发者在应用程序中集成WebSocket。WebSocket是一种具有双向通信功能的TCP协议,它可以在客户端和服务器之间创建持久性的连接。在前端技术中,Vue.js是一种流行的框架,可以用来集成WebSocket。但是,由于WebSocket对于网络攻击威胁的敏感性和前端开发者对安全问题的不太重视,Vue集成WebS

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.