AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-247010

Tom's questions

Martin Hope
Tom
Asked: 2023-05-30 04:22:26 +0800 CST

允许用户创建和写入日志文件夹

  • 7

当收到电子邮件时,我正在使用 Exim4 运行 PHP 脚本。

这个脚本应该在 /var/log/myapp 文件夹中创建一个文件,如果它不存在,否则它应该只读取文件并向日志添加更多内容。

我对文件夹应用 777 权限进行了一些测试,我看到 Exim4 使用的用户是nobody.

但是,在某些情况下,我的管理用户(例如bob)可以通过 PHP CLI 手动运行 PHP 文件并使用这些日志文件。

我运行下面的命令来添加我的用户,但没有人可以写入该文件夹,但只有我的用户可以创建文件,但“没有人”不能。

sudo groupadd eximapplog

sudo usermod -a -G eximapplog bob
sudo usermod -a -G eximapplog nobody

sudo chgrp -R eximapplog /var/log/myapp
sudo chmod g+rwx /var/log/myapp

sudo chmod -R 775 /var/log/myapp

我做错了什么?

ubuntu
  • 1 个回答
  • 234 Views
Martin Hope
Tom
Asked: 2023-05-24 21:12:55 +0800 CST

NGINX 代理无法断开目标 Apache 服务器上的会话

  • 5

我有一个在 Apache 服务器上运行的 PHP 脚本,它负责断开所有用户会话。为此,它创建一个循环,将自己标识为应该断开连接的会话并销毁它。这个程序没有回音。

Apache 日志返回 HTTP 代码 200,表示一切顺利。

但是 NGINX 返回以下错误。

[error] 512#512: *2699 upstream sent too big header while reading response header from upstream, client: <public-ip>, server: server01.example.com, request: "GET /tste.php HTTP/1.1", upstream: "http://192.168.50.2:80/tste.php", host: "server02.example.com"

什么会导致这个问题?

脚本:

<?php
error_reporting(-1);
ini_set('display_errors', 1);

if (!function_exists('deleteSession')) {
    function deleteSession($targetSessionID)
    {
        // 1. commit session if it's started.
        if (session_id()) {
            session_commit();
        }

        // 2. store current session id
        session_start();
        $current_session_id = session_id();
        session_commit();

        // 3. hijack then destroy session specified.
        
        session_id($targetSessionID);
        session_start();
        session_destroy();
        session_commit();


        // 4. restore current session id. If don't restore it, your current session will refer to the session you just destroyed!
        
        session_id($current_session_id);
        session_start();
        session_commit();

    }
}

$sessions = [
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj',
    'soadjasjosldjsaoidjasoijdsajdsaj'
];

foreach ($sessions as $session) {
    deleteSession($session);
}
nginx
  • 1 个回答
  • 13 Views
Martin Hope
Tom
Asked: 2023-02-10 21:42:57 +0800 CST

估计 Exim 处理的电子邮件数量

  • 4

我有两台使用Exim的邮件服务器,一台专门接收邮件,一台专门发送邮件。

我如何计算服务器在一个月内发送了多少封电子邮件以及 Exim 在一个月内收到了多少封电子邮件?

email-server
  • 1 个回答
  • 30 Views
Martin Hope
Tom
Asked: 2021-06-15 14:52:21 +0800 CST

HTTP 方法阻止在子域上不起作用

  • 0

我在 apache.conf 中执行了除 GET、POST 和 OPTIONS 之外的方法的阻塞,当我尝试通过 IP 运行服务器时阻塞工作。

但是在子域上配置相同的阻止(通过可用的站点)时,不会发生这种阻止。我做错了什么?

apache2.conf

<Directory /var/www/>
    Options None
    AllowOverride None
    Require all granted

    <LimitExcept GET POST OPTIONS>
        Require all denied
    </LimitExcept>
</Directory>

站点可用/子域.example.com.conf

<VirtualHost *:80>
    ServerName subdomain.example.com
    ServerAlias subdomain.example.com
    DocumentRoot /var/www/html/subdomain.example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Header append X-FRAME-OPTIONS "SAMEORIGIN"

    RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on

    SSLCertificateFile      /certs/example.crt
    SSLCertificateKeyFile   /certs/example.key
    SSLCertificateChainFile /certs/example-intermediary.crt

    Protocols h2 http/1.1

    Header always set Strict-Transport-Security "max-age=31536000"

    Header append X-FRAME-OPTIONS "SAMEORIGIN"

    <Directory /var/www/html/subdomain.example.com>
        Options None
        AllowOverride None
        Require all granted

        <LimitExcept GET POST OPTIONS>
            Require all denied
        </LimitExcept>
    </Directory>

    ServerName subdomain.example.com
    ServerAlias subdomain.example.com
    DocumentRoot /var/www/html/subdomain.example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

这个锁不起作用,因为在执行带有 PUT、DELETE、LOCK 等的请求时,页面内容正常返回。

apache-2.4
  • 1 个回答
  • 78 Views
Martin Hope
Tom
Asked: 2021-06-08 06:39:46 +0800 CST

我应该更改上传的默认文件夹吗?

  • 0

PHP 7 使用默认的系统文件夹 (/tmp) 来存储上传的文件。PHP 允许您更改设置并更改上传目标目录。一些站点指示将此文件夹更改为另一个文件夹,因为 /tmp 权限是 777。

OWASP 在安全建议中没有列出任何内容。我真的应该担心将此文件夹更改为另一个文件夹还是没有风险?

security php-fpm apache-2.4 ubuntu-20.04
  • 1 个回答
  • 81 Views
Martin Hope
Tom
Asked: 2020-10-21 18:17:33 +0800 CST

在 Apache 中按扩展名类型阻止文件显示

  • 1

有时我们需要在 Ubuntu 上编辑一个 PHP 应用程序文件,它最终会生成一个 .save 文件,例如:secret-config.php.save

如果有人访问这个文件,他们可以看到原始的 PHP 内容。Apache 2.4 中有没有办法阻止对扩展名.save和文件的访问.swp?

ubuntu apache-2.4
  • 1 个回答
  • 727 Views
Martin Hope
Tom
Asked: 2019-08-06 05:40:16 +0800 CST

配置 Exim 以使用 IPv6 和 G Suite

  • 0

我计划在一些仅使用 Exim 发送电子邮件的服务器上启用 IPv6。启用 IPv6 时是否需要在 Exim 中进行任何特殊配置?

这种担忧是在 VPS 服务的用户报告以下内容后出现的:

ipv6 激活会更改服务器的名称。

这会使带有服务器名称的 MX 记录无效

另一个我有疑问的问题。我使用 G Suite 来管理我的域电子邮件,尤其是接收电子邮件。由于我使用 Exim 从我的域指向的服务器发送电子邮件,我是否需要配置任何东西以使用 G Suite 接收/发送电子邮件?

ubuntu
  • 1 个回答
  • 546 Views
Martin Hope
Tom
Asked: 2018-09-27 06:13:03 +0800 CST

使用 Exim4 接收电子邮件时连接丢失

  • 0

几天前,我在 Exim4 中收到来自特定主机的电子邮件时出错。

像这样的错误出现在我的日志中:

SMTP connection lost after final dot H=example.com [IP-ADDRESS] P=esmtp
SMTP connection from example.com [IP-ADDRES] lost while reading message data (header)

这是我的服务器或发送电子邮件的服务器的问题吗?

Gmail 或 Outlook 等其他服务不会显示此错误,并且通常会收到。

exim
  • 1 个回答
  • 1257 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve