Enviado em 15/02/2016 - 14:37h
Olá, não sei se alguem pode me ajudar, pois ainda não vi no vol alguem falar de php com shell.
desenvolvi meu primeiro plugin pra cpanel/whm é bem simples apenas para bloquear ips no iptables funciona normal, porem depois de pronto reparei que falta uma função para verificar se o que foi digitado é ip ou não, por exemplo se eu digitar letras o sistema teria que exibir uma mensagem na tela dizendo que não é ip. e no caso não faz o bloqueio ou desbloqueio.
onde me atrapalhei foi para executar o shell atraves do php.
por exemplo pegar uma variavel do php e jogar para o shell eu consigo, por que dai no shell eu sei como fazer para verificar se o ip é ip ou não, agora depois de executar essa funçao eu não sei como trazer o resultado dessa busca novamente para o php.
http://i.imgur.com/YIT2Xx6.png
esse é o arquivo do php que executa a função de pegar a variavel e jogar no shell
desenvolvi meu primeiro plugin pra cpanel/whm é bem simples apenas para bloquear ips no iptables funciona normal, porem depois de pronto reparei que falta uma função para verificar se o que foi digitado é ip ou não, por exemplo se eu digitar letras o sistema teria que exibir uma mensagem na tela dizendo que não é ip. e no caso não faz o bloqueio ou desbloqueio.
onde me atrapalhei foi para executar o shell atraves do php.
por exemplo pegar uma variavel do php e jogar para o shell eu consigo, por que dai no shell eu sei como fazer para verificar se o ip é ip ou não, agora depois de executar essa funçao eu não sei como trazer o resultado dessa busca novamente para o php.
http://i.imgur.com/YIT2Xx6.png
esse é o arquivo do php que executa a função de pegar a variavel e jogar no shell
<?php
session_start();
require_once("inc/funcoes.php");
if($_POST[acao] == 'b') {
$resultado = shell_exec("iptables -I INPUT -s $_POST[ip] -j DROP ");
if(ereg('Adding',$resultado)) {
$resultado_acao = Criar_Celula_Log("Não foi possível bloquear o IP ".$_POST[ip]." no firewall Iptables Host.","erro");
} else {
$resultado_acao = Criar_Celula_Log("IP ".$_POST[ip]." bloqueado com sucesso No Firewall Iptables Host.","ok");
}
} else if($_POST[acao] == 'd') {
$resultado = shell_exec("iptables -D INPUT -s $_POST[ip] -j DROP ");
if(ereg('Adding',$resultado)) {
$resultado_acao = Criar_Celula_Log("Não foi possível Desbloquear o IP ".$_POST[ip]." no firewall Iptables Host.","erro");
} else {
$resultado_acao = Criar_Celula_Log("IP ".$_POST[ip]." Desbloqueado com sucesso No Firewall Iptables Host.","ok");
}
}
// Cria o cookie do status das ações executadas e redireciona.
$_SESSION['status_acao'] = $resultado_acao;
header("Location: ".$_SERVER['HTTP_REFERER']."");
?>