AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-490259

Mark's questions

Martin Hope
Mark
Asked: 2024-09-08 02:45:53 +0800 CST

Não é possível acessar o banco de dados do script PHP quando chamado da página da web

  • 5

Estou executando o Ubuntu 22.04, nginx 1.18.0, mariadb 15.1 e PHP 8.1.2. Aqui está o código do meu database.php:

<?php

$SERVER_APP = "localhost";
$DATABASE_APP = "mydb";
$USERNAME_APP = "root";
$PASSWORD_APP = "password";

function db_connect() {
    global $SERVER_APP, $DATABASE_APP, $USERNAME_APP, $PASSWORD_APP;

    try {
        $dbApp = new PDO("mysql:host=$SERVER_APP;dbname=$DATABASE_APP", $USERNAME_APP, $PASSWORD_APP);
        $dbApp->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $dbApp->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
        echo "Connected to db";
        return $dbApp;
    } catch (PDOException $e) {
        echo $e->getMessage();
    }
}

se eu executar este código a partir da linha de comando:

php -r "require 'database.php'; db_connect();"

funciona bem:

Conectado ao banco de dados

E também posso conectar ao banco de dados SQL usando:

mysql -u root -p

e inserindo a mesma senha. Mas quando a função acima é chamada de um script PHP, assim samples.php:

<?php header("Access-Control-Allow-Origin: *");
header("Content-type: application/json");
require 'database.php';

ini_set('display_errors', 1);
error_reporting(E_ALL);

$dbApp = db_connect();  
$stmt = $dbApp->prepare("SELECT * FROM sensors WHERE sampled > (now() - interval 24 hour) ORDER BY sampled;");
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($results);

$dbApp = null;

que, por sua vez, é chamado de index.php:

// url = 'samples.php'
function get_samples(url) {
    fetch(window.location.protocol + "//" + window.location.hostname + ":3001" + url, {
        method: "GET",
        headers: {
            "Content-Type": "application/json"
        },
    })
    .then(response => response.text())
    .then(text => {
        // do something
    })
    .catch(error => console.error(error))
}

a conexão com o banco de dados falha:

SQLSTATE[HY000] [1698] Acesso negado para o usuário 'root'@'localhost'

Claro que o banco de dados está no mesmo servidor, ou seja, localhost. O que poderia causar o erro de acesso negado se o mesmo script estiver funcionando quando chamado manualmente do console?

nginx
  • 1 respostas
  • 69 Views
Martin Hope
Mark
Asked: 2020-03-25 23:52:41 +0800 CST

regras de firewalld para permitir acesso SSH IP estático com backdoor?

  • 1

Eu sou novo firewallde centos 7. Li outras perguntas e aprendi sobre "zonas" e regras. No momento, está no estado padrão:

# firewall-cmd --get-default-zone
public

# firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: dhcpv6-client ftp ssh
  ports: 21/tcp 80/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

A cada dois dias eu faço login via SSH e o sistema me diz que houve mais de 20.000 tentativas de login com falha. É hora de configurar o firewall!

Minhas necessidades:

  • permitir acesso SSH apenas de um endereço IP específico
  • mas como lidar com o evento improvável se meu IP mudar no futuro antes que eu possa liberar essa configuração?
  • permitir serviços web HTTP e HTTPS (porta 80 e 443) de qualquer endereço
  • bloquear todo o resto

Peço gentilmente uma ajuda para entender como abordar esse cenário - e claro se faz sentido!

centos ssh firewalld
  • 1 respostas
  • 261 Views
Martin Hope
Mark
Asked: 2020-01-12 04:12:51 +0800 CST

Entenda se o erro de e-mail é devido ao remetente ou servidor destinatário

  • 1

Quando tento enviar e-mails para um cliente conhecido meu, recebo este erro:

Reporting-MTA: dns; googlemail.com
Received-From-MTA: dns; <my email>
Arrival-Date: Sat, 11 Jan 2020 03:55:20 -0800 (PST)
X-Original-Message-ID: <msg-id>

Final-Recipient: rfc822; <customer's email>
Action: failed
Status: 5.0.0
Remote-MTA: dns; <domain>.com. (<customer's server address>, the server for the domain <domain>.com.)
Diagnostic-Code: smtp; 571 Delivery not authorized, message refused
Last-Attempt-Date: Sat, 11 Jan 2020 03:55:22 -0800 (PST)

Tentando com outro servidor smtp:

Reporting-MTA: dns; smtpcmd09.ad.aruba.it [62.149.128.218]
Received-From-MTA: dns; [192.168.1.104] [<my ip>]
Arrival-Date: Sat, 11 Jan 2020 12:44:11 +0100

Final-recipient: rfc822; <customer's email>
Action: failed
Status: 5.1.1
Diagnostic-Code: smtp;  571 Delivery not authorized, message refused
Last-attempt-Date: Sat, 11 Jan 2020 12:44:11 +0100

Meu provedor diz:

O erro é gerado pelo servidor remoto (cliente) porque existe o Final-Repicientcampo

Em vez disso, o serviço de TI da empresa do meu cliente diz:

As mensagens falam sobre smtpisso, então cabe ao seu provedor entender e corrigir por que esses e-mails não são enviados para nós

Outros detalhes:

  • Posso enviar e-mails para qualquer outro domínio, mas este
  • Posso receber e-mails de todos os domínios (incluindo este)
  • eles dizem que não tenho problemas, mas eu

Alguma chance de ter um esclarecimento sobre as mensagens acima? Pessoalmente, acho que Final-Recipienté apenas o e-mail de destino e não tem nada a ver com o erro em si.

Resumindo: Delivery not authorized- por quem?

email
  • 2 respostas
  • 14197 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

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

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve