标签: php

在 AWS 上自定义 EC2 实例 php.ini 文件时出错

我在 AWS 上使用 Elastic Beanstalk,我试图覆盖 php.ini 文件中的一些设置。我已经在目录 /.ebextensions 中创建了 project.config :

files:
  "/etc/php.d/project.ini" :
  mode: "000644"
  owner: ec2-user
  group: ec2-user
  content: |
    date.timezone = "Europe/Berlin"
    error_reporting = E_ALL & ~E_STRICT & ~E_NOTICE & ~E_WARNING
    display_errors = Off
Run Code Online (Sandbox Code Playgroud)

当我重新部署应用程序时,EBS 抛出以下错误:

The configuration file __MACOSX/gf/.ebextensions/._project.config in application version gf3 contains invalid YAML or JSON. YAML exception: unacceptable character '' (0x0) special characters are not allowed in "<reader>", position 0, JSON exception: Unexpected character () at position 0.. Update the configuration file.
Run Code Online (Sandbox Code Playgroud)

我做错了什么? …

php amazon-web-services elastic-beanstalk

1
推荐指数
1
解决办法
2988
查看次数

以下 setuid 程序是否存在安全风险?

我在 .c 中将以下程序设置为 setuid chmod 仅由所有者读取/执行,并将其设置为不可变的,就像它调用的 php 脚本一样。

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main(int argc, char *argv[] )
{
   setuid( 0 );
   execv( "/var/tools/control.php", argv );

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

这本身是否存在安全风险?是否可以通过 argv 或其他一些我没有想到的东西来推送其他命令?我不只是询问这个代理程序的 php 脚本。

security php setuid

1
推荐指数
1
解决办法
437
查看次数

如何从 Apache 上启动的 PHP 运行 su?

我尝试使用 PHP shell_exec 函数运行 su 命令。起初我试过:

<?php
echo(shell_exec('echo \'password\' | su user -c \'whoami\' 2>&1;'));
?>
Run Code Online (Sandbox Code Playgroud)

我得到了:

su: must be run from a terminal
Run Code Online (Sandbox Code Playgroud)

然后我阅读了有关使用 python 的 pty 生成终端并将其放入 shell 代码的内容:

<?php
echo(shell_exec('echo "if [ -t 1 ] ; then echo "terminal found"; fi; echo \'password\' | su user -c \'whoami\';  exit" | python -c \'import pty; pty.spawn("/bin/bash")\' 2>&1;'));
?>
Run Code Online (Sandbox Code Playgroud)

这是输出:

if [ -t 1 ] ; then echo terminal found; fi; echo 'password' | su user -c 'whoami';  exit …
Run Code Online (Sandbox Code Playgroud)

php su terminal

1
推荐指数
1
解决办法
9172
查看次数

为什么nginx可以访问/etc/passwd?

我正在尝试使用我的几个站点设置我的新 VPS。

nginx、php-fpm 和其他需要的服务已安装。

我为我的站点设置了一个 nginx 服务器块(虚拟主机),然后尝试创建一个 php 文件进行测试。一切正常,但后来我想尝试echo file_get_contents('/etc/passwd')文件进行安全检查。它的工作也是如此,一个 test.php 文件可以访问我的 VPS etc/passwd 文件等等。

在我尝试之后echo shell_exec('ls /'),这显示了我的根文件夹。

那么这是正常的吗?或者我怎样才能防止这种情况。我想拒绝访问除运行 php 代码的用户之外/var/www的所有人www-data

对不起,我的英语不好。

谢谢。

security php permissions nginx

1
推荐指数
1
解决办法
1737
查看次数

HTTPD 进程中的内存 RAM 太高

我管理两个专用服务器。我将 Centos 6 与 Plesk Panel 一起使用。更新:我将 Apache 与 mod_php 一起使用。

在第一台服务器上,我在 Wordpress 中有一个站点。

我注意到我的 httpd 进程每次都占用更多内存。除了“top”命令之外,我还使用以下命令来查找:

ps -ylC httpd --sort:rss
Run Code Online (Sandbox Code Playgroud)

图片:

在此处输入图片说明

注意RSS栏。httpd 进程从 13MB 到 127MB 占用 ram。

安装的 apache 模块是:

# Httpd l 
Compiled in modules: 
   core.c 
   prefork.c 
   http_core.c 
   mod_so.c 
Run Code Online (Sandbox Code Playgroud)

在第二台服务器上,我有一个网站 PHPBB。

在这种情况下,涉及的进程如 httpd。全部占用约85MB。

图片:

在此处输入图片说明

我读过应该占用 20MB。我如何分析或优化它?用什么工具?Xhprof 我试过了,但它说使用的内存少于那个然后使用真的......

我的服务器中的内存很密集。这是个大问题。

更新:

服务器 1 Meminfo 输出:

#cat /proc/meminfo
MemTotal:        5969120 kB
MemFree:          625720 kB
Buffers:          218424 kB
Cached:          3289320 kB
SwapCached:        61020 kB
Active:          2832624 kB
Inactive:        2066428 …
Run Code Online (Sandbox Code Playgroud)

php centos wordpress phpbb apache-2.2

1
推荐指数
1
解决办法
6632
查看次数

从 PHP 以 sudo 的形式安全地执行系统命令

是否可以?

我用 PHP 编写了一个命令行工具,用于为我们公司创建新环境。它创建系统用户、目录、数据库、VHosts 并重新启动 apache 等。这些命令需要sudo特权。我认为为它提供一个 Web 界面可能是个好主意,以便其他非开发人员更容易使用。Web 应用程序将落后于身份验证。

从命令行运行时sudo tool.php,我只是运行,显然我无法从网络应用程序执行此操作。

我怎么能安全地做到这一点?授予 apache 用户 sudo 访问权限似乎很愚蠢,因为这意味着主机上托管的所有站点(例如我们所有的环境)都将具有 sudo 访问权限。是否可以让这个工具在不同的用户下运行?这个用户可以只对我需要的命令有 sudo 权限吗?

plesk 和 cPanel 之类的东西是如何做到这一点的?

有什么想法吗?

security php sudo apache-2.2

1
推荐指数
1
解决办法
2769
查看次数

PHP 5.4 何时结束?

PHP 5.6 稳定版于 2014 年 8 月 28 日发布。PHP 5.4 的生命周期结束日期是什么时候?我在 PHP 网站上找不到任何关于它的信息。这对我很重要,因为我必须决定是否必须升级旧站点。许多托管服务提供商仍在使用 PHP 5.3 或 5.4 提供服务。PHP 社区有关于这个日期的讨论或决定吗?

php

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

如果 php 可以作为 Web 服务器运行,为什么我们真的需要 apache + php?

几个月前,我做了一个非常成功的实验,今天我们有一个使用以下技术的内部网门户:

用户界面

phpgrid

基巴纳

那么,根据我们的测试,为什么我们需要使用 apache?

PS:我不是在使 apache 失效,这个问题只是出于好奇

: 编辑

当我的意思是“我们”时,我的意思是“我们”作为使用小型 Web 应用程序的小团队

security php web-server apache-2.2

1
推荐指数
1
解决办法
5075
查看次数

无法更新到最新的 PHP 版本。Centos 7

我无法更新到最新的 PHP 包。我跑了yum update php,它更新到 PHP 5.4.16。重新运行更新命令以查看是否有任何更新的版本,并指出没有标记为要更新的包。5.4.16 已经一年多了,存在很多漏洞,所以想更新到最新版本。关于如何克服这个问题的任何建议?

security linux php redhat

1
推荐指数
1
解决办法
3909
查看次数

意外删除了 /usr/lib/php5 扩展文件夹中的 *.so 文件

这听起来可能很愚蠢。

但是,在开发 PHP 扩展时,我不小心删除了位于 /usr/lib/php5 的扩展文件夹(以长数字命名)中的所有 *.so 文件。

谁能告诉我是否有任何方法可以恢复到原始状态(即恢复文件)或者重新安装 php 而不会影响任何 apache/mysql 配置?

php

1
推荐指数
1
解决办法
517
查看次数