千家信息网

PHP中is_writeable()函数存在Bug的示例分析

发表于:2025-11-17 作者:千家信息网编辑
千家信息网最后更新 2025年11月17日,这篇文章主要介绍了PHP中is_writeable()函数存在Bug的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PHP的i
千家信息网最后更新 2025年11月17日PHP中is_writeable()函数存在Bug的示例分析

这篇文章主要介绍了PHP中is_writeable()函数存在Bug的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

PHP的is_writeable()函数存在Bug,无法准确判断一个目录/文件是否可写,请写一个函数来判断目录/文件是否绝对可写

答:其中bug存在两个方面,
1)在windowns中,当文件只有只读属性时,is_writeable()函数才返回false,当返回true时,该文件不一定是可写的。
如果是目录,在目录中新建文件并通过打开文件来判断;
如果是文件,可以通过打开文件(fopen),来测试文件是否可写。

2)在Unix中,当php配置文件中开启safe_mode时(safe_mode=on),is_writeable()同样不可用。
读取配置文件是否safe_mode是否开启。

/*** Tests for file writability** is_writable() returns TRUE on Windows servers when you really can't write to* the file, based on the read-only attribute. is_writable() is also unreliable* on Unix servers if safe_mode is on.** @access   private* @return   void*/if ( ! function_exists('is_really_writable')){    function is_really_writable($file)    {    // If we're on a Unix server with safe_mode off we call is_writable    if (DIRECTORY_SEPARATOR == '/' AND @ini_get("safe_mode") == FALSE)    {        return is_writable($file);    }     // For windows servers and safe_mode "on" installations we'll actually    // write a file then read it. Bah...    if (is_dir($file))    {        $file = rtrim($file, '/').'/'.md5(mt_rand(1,100).mt_rand(1,100));         if (($fp = @fopen($file, FOPEN_WRITE_CREATE)) === FALSE)        {            return FALSE;        }         fclose($fp);        @chmod($file, DIR_WRITE_MODE);        @unlink($file);        return TRUE;    } elseif ( ! is_file($file) OR ($fp = @fopen($file, FOPEN_WRITE_CREATE)) === FALSE) {        return FALSE;    }     fclose($fp);    return TRUE;    }}

感谢你能够认真阅读完这篇文章,希望小编分享的"PHP中is_writeable()函数存在Bug的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

文件 函数 目录 篇文章 示例 分析 配置 两个 价值 兴趣 只有 可以通过 同时 属性 方面 更多 朋友 知识 编带 行业 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海高科技互联网数据服务报价 在哪里学软件开发比较好 长春网络安全大赛 网络安全费包括什么 5g移动通讯网络技术的优点 中华人民共各国网络安全 事业单位有服务器的可以辞职吗 中国交通事故深入研究数据库 梦幻西游哪个服务器点卡比例好 什么是网络技术产品介绍 软件开发综合实训报告模板 网络安全 就业前景分析报告 网络安全控制错误主要有 什么服务器可以覆盖城镇 网络安全校园日知识竞答 投资项目数据库 数据库工程师手机方面 大计算机网络技术课程 上海运维管理软件开发多少钱 seer数据库获取要钱吗 软件开发项目技术水平怎么写 服务服务器文件并展示 怎样租服务器最安全 中小学生家庭教育与网络安全全 齐家互联网科技深 网络安全推荐公众号 网络技术顾问招聘启事 手机ssh远程连接win服务器 网络安全 就业前景分析报告 湖南易动力软件开发有限公司
0