首页 > 后端开发 > 正文

php数组元素值的修改和删除问题 php禁用函数删除后还是提示运行

2024-09-12 13:37:24 | 我爱编程网

我爱编程网小编给大家带来了php数组元素值的修改和删除问题 php禁用函数删除后还是提示运行相关文章,一起来看一下吧。

本文目录一览:

php数组元素值的修改和删除问题 php禁用函数删除后还是提示运行

php的文件操作(php操作文件的函数)

php文件操作之小型留言本实例

本文实例讲述了php文件操作之小型留言本。分享给大家供大家参考。具体如下:

Index.php文件如下:

?php

$path

=

"DB/";

//定义路径

$dr

=

opendir($path);

//打开目录

while($filen

=

readdir($dr))

//循环读取目录中的文件

{

if($filen

!=

"."

and

$filen

!=

"..")

{

$fs

=

fopen($path.$filen,

"r");

echo

"B标题:/B".fgets($fs)."BR";

echo

"B作者:/B".fgets($fs)."BR";

echo

"B内容:/BPRE".fread($fs,

filesize($path.$filen))."/PRE";

echo

"HR";

fclose($fs);

}

}

closedir($dr)

//关闭目录

?

Post.php文件如下:

?php

$path

=

"DB/";

$filename

=

"S".date("YmdHis").".dat";

$fp

=

fopen($path.$filename,

"w");

fwrite($fp,

$_POST["title"]."/n");

fwrite($fp,

$_POST["author"]."/n");

fwrite($fp,

$_POST["content"]."/n");

fclose($fp);

echo

"留言发表成功!";

echo

"a

href="Index.php"

mce_href="Index.php"返回首页/a";

?

!DOCTYPE

HTML

PUBLIC

"-//W3C//DTD

HTML

4.01

Transitional//EN"

""

html

head

title发表新的留言/title

meta

http-equiv="Content-Type"

content="text/html;

charset=gb2312"

/head

body

H1p

align="center"发表新的留言/p/H1

form

name="form1"

method="post"

action="Post.php"

table

width="500"

border="0"

align="center"

cellpadding="0"

cellspacing="0"

tr

td标题/td

tdinput

name="title"

type="text"

id="title"

size="50"/td

/tr

tr

td作者/td

tdinput

name="author"

type="text"

id="author"

size="20"/td

/tr

tr

td内容/td

tdtextarea

name="content"

cols="50"

rows="10"

id="content"/textarea/td

/tr

/table

p

align="center"

input

type="submit"

value="Submit"

input

type="reset"

value="Reset"

/p

/form

/body

/html

希望本文所述对大家的php程序设计有所帮助。

php是什么格式的文件,怎么播放(打开)?

1、PHP,是超级文本预处理语言(HypertextPreprocessor)的缩写。

PHP它是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言。

2、首先找到一个php文件,如下图所示。

3、鼠标右击php文件,在弹出来的列表中选择“打开方式(H)”,如下图所示。

4、在打开的方式的选项中选择“记事本”,如下图所示。

5、然后就可以在记事本中看到php的代码了,如下图所示。

6、鼠标php文件,在出现的列表中选择“Notepad++”,如下图所示。

7、然后可以看到在Notepad++中打开的php代码如下图所示,可以看到此时php代码显示不同颜色,这是Notepad++自带的高显亮。

PHP绕过open_basedir限制操作文件的三种方法

由于open_basedir的设置对system等命令执行函数是无效的,所以我们可以使用命令执行函数来访问限制目录。

我们首先创建一个目录

且在该目录下新建一个1.txt内容为abc

再在该目录下创建一个目录命名为b

并且在该目录下创建一个1.php文件内容为

且在php.ini中设置好我们的open_basedir

我们尝试执行1.php看看open_basedir是否会限制我们的访问

执行效果如图

很明显我们无法直接读取open_basedir所规定以外的目录文件。

接下来我们用system函数尝试绕open_basedir的限制来删除1.txt

编辑1.php为

先来看看执行1.php之前的文件情况

执行1.php之后

我们先来了解一下symlink函数

symlink函数将建立一个指向target的名为link的符号链接,当然一般情况下这个target是受限于open_basedir的。

由于早期的symlink不支持windows,我的测试环境就放在Linux下了。

测试的PHP版本是5.3.0,其他的版本大家自测吧。

在Linux环境下我们可以通过symlink完成一些逻辑上的绕过导致可以跨目录操作文件。

我们首先在/var/www/html/1.php中编辑1.php的内容为

接着在/var/www/中新建一个1.txt文件内容为

再来设置一下我们的open_basedir

在html目录下编辑一个php脚本检验一下open_basedir

执行看下。

意料之中,文件无法访问。

我们执行刚才写好的脚本,1.php

此时tmplink还是一个符号链接文件,它指向的路径是c/d,因此exploit指向的路径就变成了

由于这个路径在open_basedir的范围之内所以exploit成功建立了。

之后我们删除tmplink符号链接文件再新建一个同名为tmplink的文件夹,这时exploit所指向的路径为

由于这时候tmplink变成了一个真实存在的文件夹所以tmplink/../../变成了1.txt所在的目录即/var/www/

然后再通过访问符号链接文件exploit即可直接读取到1.txt的文件内容

当然,针对symlink()只需要将它放入disable_function即可解决问题,所以我们需要寻求更多的方法。

glob是php自5.3.0版本起开始生效的一个用来筛选目录的伪协议,由于它在筛选目录时是不受open_basedir的制约的,所以我们可以利用它来绕过限制,我们新建一个目录在/var/www/下命名为test

并且在/var/www/html/下新建t.php内容为

执行结果如图:

成功躲过open_basedir的限制读取到了文件。

php实现编辑和保存文件的方法

文章主要介绍了php实现编辑和保存文件的方法,涉及php针对文件的读取、编辑和保存操作的'相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下。

本文实例讲述了php实现编辑和保存文件的方法。分享给大家供大家参考。具体如下:

save_file.php:

?php

session_start();

$handle=fopen($_POST['original_file_name'],"w");

$text=$_POST['file_contents'];

if(fwrite($handle,$text)==FALSE){

$_SESSION['error']='spanclass="redtxt"Therewasanerror/span';

}else{

$_SESSION['error']='spanclass="redtxt"Fileeditedsuccessfully/span';

}

fclose($handle);

header("Location:".$_POST['page']);

?

read_file.php:

!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"

""

htmlxmlns=""

head

metahttp-equiv="Content-Type"content="text/html;charset=iso-8859-1"/

titleUntitledDocument/title

/head

formaction="savecontents.php"method="post"

textareaname="file_contents"

?php

$fileName="location/of/orignal/file/my_file.php";

$handle=fopen($fileName,"r");

while(!feof($handle)){

$text=fgets($handle);

echo$text;

}

?

/textarea

inputtype="hidden"value="?echo$fileName;?"name="original_file_name"/

/form

body

/body

/html

希望本文所述对大家的php程序设计有所帮助。

php数组元素值的修改和删除问题 php禁用函数删除后还是提示运行我爱编程网

php数组元素值的修改和删除问题

删除数组元素和删除一个变量一样
unset($strArray['key']);
更新是直接赋值
$strArray['key'] = 'new var';
=================
这种事情我做过, 关键是把 $strArray 放在文件中,以及对这个数组的操作.

1.存放,比如放在 strarray.php 中

$fp = fopen('strarray.php','w');
fwrite($fp,'<?php'."\n".'$strArray = '.var_export($strArray,1).";\n?>");
fclose($fp);

2. 读取

include 'strarray.php';

3. 删除

unset($strArray['key'])

====
要注意的是,如果使用函数来做这些操作,strArray是全局变量,在function中要有

global $strArray;

这句声明

我试过使用这个方法来存放经纬度数据,好处是不用xml文件或数据库,速度也非常快

php数组元素值的修改和删除问题 php禁用函数删除后还是提示运行

php禁用函数删除后还是提示运行

我爱编程网(https://www.52biancheng.com)小编还为大家带来php禁用函数删除后还是提示运行的相关内容。

动态加载的扩展、安全模式(SafeMode)、.user.ini文件等原因。
1、动态加载的扩展:某些PHP扩展是动态加载的,不会在php.ini文件中列出。这意味着修改php.ini文件对它们无效。这些扩展可以在运行时被加载,其函数仍然可用。请检查是否有其他配置文件(如conf.d目录下)包含了启用该函数或相关功能所需的设置。
2、安全模式(SafeMode):PHP的安全模式限制了一些操作,包括启用和禁用函数。处于安全模式下,无法通过修改php.ini来控制特定功能和函数。可以检查并确认是否开启了安全模式,在php.ini中搜索“safe_mode”参数来验证设置情况。
3、.user.ini文件:每个PHP脚本目录都可以存在一个名为“.user.ini”的文件,在其中可以定义一些额外配置项而不需要修改主要php.inifile。请确保没有将被禁止使用之前已经从主要php.inifile禁止掉指定函数重新充许使用。

以上就是我爱编程网小编给大家带来的php数组元素值的修改和删除问题 php禁用函数删除后还是提示运行,希望能对大家有所帮助。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php数组元素值的修改和删除问题 php禁用函数删除后还是提示运行”相关推荐
PHP中array_splice()函数对数组元素的添加、修改、删除(php数组元素值的修改和删除问题)
PHP中array_splice()函数对数组元素的添加、修改、删除(php数组元素值的修改和删除问题)

PHP中array_splice()函数对数组元素的添加、修改、删除array_splice()函数从数组中可实现对数据中元素的添加、修改、删除操作,方便对数组中的值进行处理。语法:array_splice(array,start,length,array),start是从0开始标记,千万不要忘记。注意添加和修改时参数是4个,删除是3个参。添加元素:删除元素:

2024-09-19 10:04:17
php数组元素值的修改和删除问题(PHP当中unset($_SESSION['username']);问题)
php数组元素值的修改和删除问题(PHP当中unset($_SESSION['username']);问题)

php数组元素值的修改和删除问题删除数组元素和删除一个变量一样unset($strArray['key']);更新是直接赋值$strArray['key']='newvar';=================这种事情我做过,关键是把$strArray放在文件中,以及对这个数组的操作.1.存放,比如放在strarray.php中$fp=fopen('strar

2025-01-31 16:14:08
php函数mode php禁用函数删除后还是提示运行
php函数mode php禁用函数删除后还是提示运行

php禁用函数删除后还是提示运行动态加载的扩展、安全模式(SafeMode)、.user.ini文件等原因。1、动态加载的扩展:某些PHP扩展是动态加载的,不会在php.ini文件中列出。这意味着修改php.ini文件对它们无效。这些扩展可以在运行时被加载,其函数仍然可用。请检查是否有其他配置文件(如conf.d目录下)包含了启用该函数或相关功能所需的设置。2、安全模式(Safe

2024-08-30 04:39:17
php判断一个类里面的某个函数是否存在 php禁用函数删除后还是提示运行
php判断一个类里面的某个函数是否存在 php禁用函数删除后还是提示运行

php判断一个类里面的某个函数是否存在1、首先需要新建一个246.php。2、然后需要按照图示代码输入php网页的结构(&lt;?php?&gt;)。3、然后需要按照图示代码声明PHP与浏览器交互的文件类型和编码。4、function_exists()函数的作用:如果函数已被定义就返回TRUE,如图所示为其语法结构。5、然后需要按照图示代码使用function_ex

2024-08-29 07:25:52
php中怎么删除数组的第一个元素和最后一个元素
php中怎么删除数组的第一个元素和最后一个元素

求教php二维数组根据某一元素删除&lt;?php $arr=array(    2 =&gt; array(        'catid' =&gt; 2,        'catdir' =&gt; 'notice',    ),    5 =&gt; array(        'catid' =&gt; 5,        'catdir' =&gt; 'subject',    )

2024-07-16 03:28:26
怎么删除php数组中的元素
怎么删除php数组中的元素

PHP中array_splice()函数对数组元素的添加、修改、删除array_splice()函数从数组中可实现对数据中元素的添加、修改、删除操作,方便对数组中的值进行处理。语法:array_splice(array,start,length,array),start是从0开始标记,千万不要忘记。注意添加和修改时参数是4个,删除是3个参。添加元素:删除元素:

2024-08-10 23:13:38
PHP中array_splice()函数对数组元素的添加、修改、删除(php替换字符串substr_replace函数)
PHP中array_splice()函数对数组元素的添加、修改、删除(php替换字符串substr_replace函数)

PHP中array_splice()函数对数组元素的添加、修改、删除array_splice()函数从数组中可实现对数据中元素的添加、修改、删除操作,方便对数组中的值进行处理。语法:array_splice(array,start,length,array),start是从0开始标记,千万不要忘记。注意添加和修改时参数是4个,删除是3个参。添加元素:删除元素:

2025-01-08 16:51:35
如何用php程序删除"数组"中"字符串元素"中的"空格"?
如何用php程序删除"数组"中"字符串元素"中的"空格"?

如何用php程序删除"数组"中"字符串元素"中的"空格"?&lt;?$arr=array();$arr[]="addfddfd";$arr[]="safsdfdsf";$arr[]="sdfdsfgfddd";$arr[]="dfddfferw";while(list($name,$value)=each($arr)){echo$value;$arr2[]=t

2024-08-02 17:51:55