相关疑难解决方法(0)

file_put_contents权限被拒绝

我正在尝试将查询写入文件以进行调试.该文件在database/execute.php.我想写的文件是database/queries.php.

我正在尝试使用 file_put_contents('queries.txt', $query)

但我得到了

file_put_contents(queries.txt)[function.file-put-contents]:无法打开流:权限被拒绝

我有queries.txt文件chmod'd到777,问题是什么?

php file-io file-permissions

85
推荐指数
4
解决办法
20万
查看次数

在PHP/Apache/Linux上下文中,为什么chmod 777确实存在危险?

受到这个问题讨论的启发,可能是一个愚蠢的问题.

我们都被教导过,将基于Linux的Web主机上的目录或文件保留为权限级别777是一件坏事,并且根据需要设置总是很少的权限.

我现在好奇的地方正是在于剥削的危险,特别是在一个PHP/Apache的环境.

毕竟,一个PHP脚本文件可以从外部执行(即通过调用Web服务器,然后再到解释器),无论它是否被标记为"可执行",不是吗?这同样适用于通过命令行php解释器调用的文件,对吧?

那么漏洞到底在哪里777?事实是同一台机器上的其他用户可以访问世界上可写的文件吗?

php linux apache security chmod

45
推荐指数
2
解决办法
2万
查看次数

file_put_contents没有创建txt文件

我目前有一个浏览器浏览器浏览网页时运行的php脚本.我要做的是在运行存储变量的脚本时编写一个文本文件.该文件夹的所有者是apache,但每个人都有读写,严格用于测试目的.(我认为这可能是一个权限问题)SELINUX在服务器上启用,当我从控制台运行脚本时,它创建文本文件就好了,并在正确的目录中.

file_put_contents("My working file location", $myString);
Run Code Online (Sandbox Code Playgroud)

我正在使用这一行来尝试编写和创建文本文件,我知道我的文件位置工作,因为我可以运行它并在离线模式下创建它,IE通过控制台运行它.问题是我尝试编写的变量是通过HTTP Post填充的,当我通过浏览器运行脚本时,或者当apache运行脚本时,它不会写入或创建文件.我需要做什么才能允许访问写/更改语法以使此脚本编写此文本文件?

php linux apache centos selinux

8
推荐指数
1
解决办法
3万
查看次数

标签 统计

php ×3

apache ×2

linux ×2

centos ×1

chmod ×1

file-io ×1

file-permissions ×1

security ×1

selinux ×1