标签: php

在端口 22 上托管 Web 服务......这可能吗?皱眉?

我正在尝试解决客户的问题,但我有一个(坏的?)主意......

问题 :

客户有两个 Web 服务器在他的 wan 路由器后面运行。(他大楼里的物理服务器)

每台服务器都托管不同的 Web 服务,因此无法将两台服务器合并。

路由器将端口 80 上的请求转发到服务器 A(并且不能更改),并将端口 90 上的请求转发到服务器 B。

[[编辑]]:现在服务器 B 是通过客户端的 IP 和端口 90 直接从 Web 浏览器询问的......这太糟糕了......)

我需要通过来自 1and1 共​​享服务器的 PHP(代理)脚本来询问服务器 B。

托管公司 (1and1) 有一个防火墙,可以防止开发人员在 21、22 和 80 以外的其他端口上发送请求。

想法:

更改我的客户端路由器的端口转发规则,以便服务器 B 可以通过端口 22 访问,并通过端口 22 上的 php 发送请求。

问题:

将端口 22 用于 http 请求是一种可怕的做法吗?

有没有一种简单的方法可以首先通过向(任何)服务器的端口 22 发送 http 请求来测试我的 PHP 代理脚本?

php http ssh proxy port

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

通过网站向 Windows 服务器发送命令

是否有接口或其他东西提供网站和 Windows 服务器之间的连接,以通过网站向服务器发送命令并且服务器本身执行它?
我想在我的网页上生成一个上下文菜单。在菜单中,我希望能够指定服务器应该执行的一些参数。
例如,我在我的网页上执行右键单击,菜单打开,我选择在服务器上创建一个具有特定名称和路径的文件夹。然后服务器收到命令并完全按照我通过网页告诉他的方式执行。

我的网页是通过 IIS 发布的,我的服务器操作系统是 Windows Server2012。

iis powershell php web-server windows-server-2012-r2

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

httpd_can_network_connect 设置为 1 实际上在 SELinux 上打开了多少

当我尝试将用户重定向到 Paypal 进行结帐时,我在日志文件中收到以下 SELinux 拒绝行。您能帮助我理解它的含义以及我应该向 SELinux 添加哪些例外以允许这些情况吗?

type=AVC msg=audit(1591554743.559:10135): avc:  denied  { name_connect } for  pid=3389 comm="httpd" dest=80 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0
type=SYSCALL msg=audit(1591554743.559:10135): arch=c000003e syscall=42 success=no exit=-13 a0=19 a1=7f6a14077238 a2=10 a3=26 items=0 ppid=981 pid=3389 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)ARCH=x86_64 SYSCALL=connect AUID="unset" UID="apache" GID="apache" EUID="apache" SUID="apache" FSUID="apache" EGID="apache" SGID="apache" FSGID="apache"
type=PROCTITLE msg=audit(1591554743.559:10135): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 

type=AVC msg=audit(1591554758.933:10140): avc:  denied  { name_connect } for  pid=5728 comm="php-fpm" dest=80 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0
type=SYSCALL msg=audit(1591554758.933:10140): …
Run Code Online (Sandbox Code Playgroud)

php selinux centos magento centos8

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

PHP SuHosin——我的代码已经安全了……需要吗?

我相信我已经非常安全地设置了我的代码,它验证和清理用户输入,因此它是安全的,等等。

那么我需要SuHosin吗?(这是 PHP 的安全添加/补丁)

如果我的代码已经安全,它对我有什么帮助?
例如,我读到 SuHosin 有助于防止远程包含,但如果我的代码首先不使用远程包含,那怎么会是威胁?

security php safety

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

chmod 不会粘住

我在虚拟专用服务器上使用 CentOS。

当我以 root 身份进入并更改文件夹的 chmod 值时,它会起作用。但是,我放入该文件夹的任何文件都不会继承我设置的 chmod。

这是我使用的:

chmod -Rv 777 files
Run Code Online (Sandbox Code Playgroud)

回报是这样的:

mode of `files' retained as 0777 (rwxrwxrwx)
mode of `files/1344188366-f7cad6aa87685db775817d4168c329ef-AUTO_INSURANCE2.csv'
changed to 0777 (rwxrwxrwx)
Run Code Online (Sandbox Code Playgroud)

好的,所以一个文件改变了。但是,如果我将任何文件放入该文件夹中,它们将具有不同的 chmod 值。如何让 chmod 坚持该目录中的每个文件和文件夹?

我希望默认 chmod 设置的文件正在通过 XHR 上传。IE 从浏览器到服务器的文件上传过程。

如何在 PHP 中的应用程序代码上设置 chmod 级别?

编辑

我想我已经找到了解决问题的合理方法。下面的答案解决了文件权限问题。但是get_current_user()在 php 中运行后,我意识到运行脚本的用户与我正在尝试处理的文件的用户不同。文件用户是 apache,因为那是创建它的人。但是PHP脚本是不同的用户,默认用户。

linux php centos chmod umask

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

是否可以阻止使用 IP 伪装服务的用户?

可能的重复:
在哪里可以找到以及如何阻止列入黑名单的 IP 和代理?

某些程序会更改用户似乎来自的 IP。
我想知道是否有办法阻止这些用户,只允许他们使用他们的真实 IP 访问我的网站。

php nginx

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

您如何设置 PHP 以用户身份作为 CGI 运行?

尝试了很多示例,但似乎没有任何效果。我不想使用 yum/apt-get 我想从源头做所有事情,这样我才能更好地理解。Yum/apt-get 只是欺骗系统,您必须等待版本,而且您没有配置控制。

php fastcgi php-fpm suexec apache-2.2

-3
推荐指数
1
解决办法
216
查看次数

这是来自机器人攻击吗?

我今天检查了error_log,发现这个可疑:

    [Mon Nov 27 01:18:36 2011] [error] [client omitted] 
    File does not exist: /var/www/domain.com/htdocs/robots.txt
    [Mon Nov 27 01:18:45 2011] [error] [client omitted] 
    File does not exist: /var/www/domain.com/htdocs/robots.txt
    [Mon Nov 27 01:24:38 2011] [error] [client ommited] 
    script '/var/www/domain.com/htdocs/proxy-1.php' 
    not found or unable to stat
    [Mon Nov 27 01:24:57 2011] [error] [client omitted] 
    script '/var/www/domain.com/htdocs/judge112233.php' 
    not found or unable to stat
Run Code Online (Sandbox Code Playgroud)

我说可疑,因为我是目前唯一使用该网站的人,所以我知道所有页面,我永远不会访问上面的那些页面。那么这是机器人攻击吗?

security php

-4
推荐指数
1
解决办法
603
查看次数

从 PHP 5.3.2 升级到 PHP 5.3.10?

我有一个来自 Linode 的 VPS 帐户。

我已经安装了带有“LAMP Stack”(StackScript)的 Ubuntu 10.04 LTS。

如何从 PHP 5.3.2 升级到最新版本的 PHP 5.3.10?

我什至尝试过 apt-get 但它没有更新。

apt-get update
apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

linux ubuntu php vps linode

-5
推荐指数
1
解决办法
1032
查看次数

为什么这个 sudoer 命令不是以 root 身份运行的?

我想使用/etc/sudoers.d.

所以我做了以下事情:

visudo -f /etc/sudoers.d/99-php
Run Code Online (Sandbox Code Playgroud)

并输入此 sudo 规则:

www-data ALL = (root) NOPASSWD: /etc/my_script.sh
Run Code Online (Sandbox Code Playgroud)

/etc/my_script.sh脚本中,我在/tmp再次删除它们之前创建了一个文件夹和几个文件。

去测试:

su www-data
/etc/my_script.sh
Run Code Online (Sandbox Code Playgroud)

这给了我很多这样的权限错误:

rm: cannot remove «/tmp/my_file.txt»: Access denied
Run Code Online (Sandbox Code Playgroud)

暗示我的脚本实际上根本没有以 root 身份运行。

那么我该怎么做才能让它发挥作用?

scripting php permissions sudo tmp

-5
推荐指数
1
解决办法
159
查看次数