- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章深入了解 register_globals (附register_globals=off 网站打不开的解决方法)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
深入了解 register_globals dedecms 里强制限制了register_globals 由于register_globals设置控制PHP变量访问范围,如果开启会引起不必要的安全问题,所以这里对其进行了强制关闭,如果站长的空间不支持,可以采用以下几种办法进行修改,供广大站长参考: *如果是独立服务器的用户可以修改php配置文件中的php.ini,将register_globals=On改为register_globals=Off,然后重启Apache. *如果是虚拟主机的用户,尽可能的通知空间商让其对配置进行修改,或者可以尝试ini_set('register_globals',0)来. *自己在网站目录下新建一个.htaccess文件,加上php_flag register_globals off 就行了,如果已有.htaccess文件,直接再最后另起一行添加即可; *如果实在不行,那只有采用最后的办法直接去include/common.inc.php中将以下代码删除即可(不建议). //开启register_globals会有诸多不安全可能性,因此强制要求关闭register_globalsif(ini_get('register_globals')){ exit('<a href="http://docs.dedecms.com/doku.php?id=register_globals">php.ini register_globals must is Off! </a>'); } 从 PHP4.2.0版本开始,php.ini中的设置选项 register_globals 默认值变成了 off。所以,最好从现在就开始用Off的风格开始编程! 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,这样一个未授权的用户也可以突破安全限制。 register_globals=off 网站打不开的解决方法 register_globals是php.ini里的一个配置,这个配置影响到php如何接收传递过来的参数,顾名思义,register_globals的意思就是注册为全局变量,所以当On的时候,传递过来的值会被直接的注册为全局变量直接使用,而Off的时候,我们需要到特定的数组里去得到它。所以,碰到上边那些无法得到值的问题的朋友应该首先检查一下你的register_globals的设置和你获取值的方法是否匹配。(查看可以用phpinfo()函数或者直接查看php.ini) register_globals=off的目的主要是为安全考虑,同时大多数程序要求将该值设为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); } } ?> 。
php Undefined index和Undefined variable的解决方法 $act=$_POST['act']; 用以上代码总是提示 Notice: Undefined index: act in F:\windsflybook\post.php on line 18 另外,有时还会出现 引用内容 Notice: Undefined variable: Submit ...... 等一些这样的提示 原因:由于变量未定义引起的 解决方法: 1) error_reporting设置: 找到error_reporting = E_ALL 修改为error_reporting = E_ALL & ~E_NOTICE 2) register_globals设置: 找到register_globals = Off 修改为register_globals = On Notice: Undefined variable: email in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9 Notice: Undefined variable: subject in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9 Notice: Undefined variable: comment in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9 ........ 本来php是不需要定义变量的,但是出现这种情况应该怎么办呢? 只要在C:\WINDOWS找出php.ini的 在php.ini中的302行 error_reporting = E_ALL 修改成 error_reporting = E_ALL & ~E_NOTICE再重启apache2.2就行了 解决方法:修改php.ini 将: error_reporting = E_ALL 修改为:error_reporting = E_ALL & ~E_NOTICE 如果什么错误都不想让显示,直接修改: display_errors = Off 如果你没有php.ini的修改权限,可在php头部加入 ini_set("error_reporting","E_ALL & ~E_NOTICE"); 即可 。
最后此篇关于深入了解 register_globals (附register_globals=off 网站打不开的解决方法)的文章就讲到这里了,如果你想了解更多关于深入了解 register_globals (附register_globals=off 网站打不开的解决方法)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我们有一个客户端应用程序依赖于已打开的 register_globals,但我们将其托管在我们的共享服务器上,并且不想在我们的主 php.ini 文件中打开 register_globals。 我尝试
我不确定这是否适合标记为社区 wiki,但无论如何: 有没有简单的方法来杀死 register_globals?我正在开发一个 PHP 框架,现在,我只是将脚本设置为在 register_global
register_globals的值可以设置为:On或者Off,我们举一段代码来分别描述它们的不同。 代码: 复制代码 代码如下: <form name=&q
我将网站转移到具有“Server API=CGI/FastCGI”的新服务器(PHP 版本 5.3.8),网站工作正常,除了一页(public_html/user/index.php)。我得到错误:
这里还有一个奇怪的问题。我最近参与了从 PHP 5 到 Php 7.1 的巨大升级以及 CentOS 升级。 我们有很多页面(实际上几乎所有页面)都在代码中使用了注册全局快捷方式。 $_SESSION
我有一个简单的验证码,当 register_global 被禁用时它可以完美运行,根据 PHP 手册 Using Register Globals 这是正确的 但有时我转移到许多主机,它们默认启用全局
我继承了一些遗留的 PHP 代码,这些代码在使用 register_globals 时被写回(从 PHP 4.2.0 开始,该指令默认为关闭,2002 年 4 月 22 日发布)。 我们现在知道启用它
我不是 PHP 开发人员,但我在一些地方看到人们似乎将其视为瘟疫之类的。为什么? 最佳答案 REGISTER_GLOBALS 意味着所有通过 GET 或 POST 传递的变量都可以作为脚本中的全局变量
深入了解 register_globals dedecms 里强制限制了register_globals 由于register_globals设置控制PHP变量访问范围,
我刚刚将我的 drupal 移到了一个新服务器上,但收到以下警告: register_globals 已启用。 Drupal 要求禁用此配置指令。启用 register_globals 时,您的站点可
我使用 php 作为命令行脚本语言来执行各种系统命令。 我怎样才能在本地打开 register_globals - 也许只对一个脚本?这可以通过脚本本身完成吗? 如果可能,我不希望更改全局设置。 最佳
谁能举例说明 register_globals 是什么? global $user_id; 是否被视为全局寄存器? 最佳答案 register_globals 指令: register_globals
我继承了一个充满代码的网络服务器,需要 register_globals 才能打开。其中大部分是由多年来来来去去的随机人员编写的自定义代码。我已经在我知道的脚本中修复了大部分问题,但我的问题是找到我不
为什么我看不到 safe_mode 和 register_globals 的值(状态) 我使用来自 php.net 的这段代码: echo 'display_errors = ' . ini_get(
我正在开发一个使用 register_globals 的框架。我本地的 php 版本是 5.4。 我知道 register_globals 自 PHP 5.3.0 起已弃用并在 PHP 5.4 中删除
错误提示: dedecms安装中php.ini register_globals must is Off! 的解决方法 原因分析: 我们只要把php中的register_globals 改成on即
我使用 php 作为命令行脚本语言来执行各种系统命令。 指令“register_globals”在 PHP 5.3 及更高版本中已弃用。 更新 exec 命令使用的 PATH 环境变量的干净方法是什么
为了获得更多的 Wordpress 经验,我深入研究了它的代码库,研究了它的内部工作和工作流程,当我看到这一点时,我感到非常惊讶: 他们实现了 register_globals(摘自 wp-inclu
我在 hostgator 服务器上的 wordpress 上运行电子商务主题,并出现此错误。 Security warning: set the value register_globals in t
我是一名优秀的程序员,十分优秀!