HEX
Server: Apache/2.4.37 (CentOS Stream) OpenSSL/1.1.1k
System: Linux ysnet.com.tw 4.18.0-553.5.1.el8.x86_64 #1 SMP Tue May 21 05:46:01 UTC 2024 x86_64
User: test (521)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /var/www/net/pppoeset.php
<?php
	include "routeros_api.php";
	include "name.php";
	$vpn = $_GET['vpn'];
	$mikrotik_ip = $vpn.'.sn.mynetname.net';
	#$mikrotik_ip = 'b8d00a83a70b.sn.mynetname.net';  
	$API = new RouterosAPI();
	if ($API->connect($mikrotik_ip, $mikrotik_username,$mikrotik_password)) {
		$idname = $API->comm("/system/identity/print");
		$chname = $API->comm("/system/note/print");
		echo $idname['0']['name'].rawurldecode($chname['0']['note'])."<br>";
		$oldnombre = $_POST['nombre'];
		$nombre =  $_POST['newnombre'];
		$password = $_POST['newpassword'];
		$profile = $_POST['newprofile'];
		$comment = $_POST['newcomment'];
		$pppoestatus = $_POST['newpppoestatus'];
    	$pppoeactive = $API->comm("/ppp/active/print");
		$removeuser = $API->comm("/ppp/secret/getall",array(
			".proplist"=> ".id",
				"?name" => $oldnombre,
			)
		);
		$API->comm(
			"/ppp/secret/set",
			array(
				".id" => $removeuser[0][".id"],
				"name"     => $nombre,
				"password" => $password,
				"profile"  => $profile,
				"comment"  => $comment,
				"disabled"  => $pppoestatus,
			)
		);
		$pppoeall = $API->comm("/ppp/secret/print");
		$queues = $API->comm("/ppp/profile/print");
		$ii=0;
		for ($i=0;$i < count($queues);$i++){
			if(isset($queues[$i]['remote-address'])&&isset($queues[$i]['rate-limit'])){
				$class[$ii] = $queues[$i]['name'];
				$rate[$ii] = $queues[$i]['rate-limit'];
				$ii++;
			}
		}
		for ($i=0;$i<count($pppoeall);$i++){
			if($nombre == $pppoeall[$i]['name']){
				echo "帳號:";
				print_r($pppoeall[$i]['name']);
				$pppoeuser = $pppoeall[$i]['name'];
				echo "<br>密碼:";
				print_r($pppoeall[$i]['password']);
				$pppoepwd = $pppoeall[$i]['password'];
				echo "<br>方案:";
				print_r($pppoeall[$i]['profile']);
				$pppoefile = $pppoeall[$i]['profile'];
				echo "<br>備註:";
				print_r($pppoeall[$i]['comment']);
				$pppoecomment = $pppoeall[$i]['comment'];
				echo "<br>運作狀態:";
				if($pppoeall[$i]['disabled']=="false"){
					echo "開啟中";
				}else {
					echo "關閉中";
					$checka = "0";
					for ($bi=0;$bi<count($pppoeactive);$bi++){
						if($nombre==$pppoeactive[$bi]['name']){
							$checka = $checka+1;
						}
					}
					if($checka==1){
						$removeactive = $API->comm("/ppp/active/getall",array(
								".proplist"=> ".id",
								"?name" => $pppoeuser,
							)
						);
						$API->comm(
							"/ppp/active/remove",array(
								".id" => $removeactive[0][".id"],
							)
						);
					}
				}
				$pppoestatus = $pppoeall[$i]['disabled'];
			}
		}
	}else echo "社區主機斷線中,請盡快搶修";
	$API->disconnect();
	echo "<br>帳號已修改完成";
	$API->disconnect();
?>
<html>
	<head>
	<meta charset="utf-8">
	<title>修改PPPOE</title>
	</head>
	<style type="text/css">
		.body {
            font-family: Arial, sans-serif;
            text-align: center;
            margin: 50px;
        }
	</style>
    <body>
		<form action="pppoechange.php?vpn=<?php echo $_GET['vpn'];?>" method="post">
			<input type="hidden" name="pppoeuser" value="<?php echo $pppoeuser;?>">
			<input type="hidden" name="pppoepwd" value="<?php echo $pppoepwd;?>">
			<input type="hidden" name="pppoefile" value="<?php echo $pppoefile;?>">
			<input type="hidden" name="pppoecomment" value="<?php echo $pppoecomment;?>">
			<input type="hidden" name="pppoestatus" value="<?php echo $pppoestatus;?>">
			<input type="submit" value="修改">
		</form>
		<form action="indexpppoe.php?vpn=<?php echo $_GET['vpn'];?>" method="post">
			<input type="submit" value="返回">
		</form>
	</body>
</html>