weikun444 发表于 2011-1-14 14:39:58

ROS3.30中利用PHP通过API管理PPPOE用户(有兴趣的进来吧)

本帖最后由 weikun444 于 2011-1-14 14:43 编辑

一直想做一个PPPOE在线管理的,也就是用户自助平台,由于是单位用户,功能只要能注册及更改密码就行了。

经过网上搜索一下,发现了注册用户的(使用前请开API功能,ip service enable api),文件源码如下:

<?php
require('routeros_api.class.php'); //这个文件,论坛里有,我以前发过
$API = new routeros_api();
$API->debug = false;
if ($API->connect('192.168.1.1', 'admin', '123456'))
{
$API->write('/ppp/secret/add',false);
$API->write('=name=testpppoe',false);
$API->write('=service=pppoe',false);
$API->write('=password=123456');
$API->disconnect();
}
?>
现在就缺一个更改密码的,ROS中很好实现:
/ppp sec set password=654321,一句话就行了,但就是没法弄成API能识别的格式,请各位大大们指点一下。做好了以后,也可以增加一些其它的功能,方便各位坛友了。

lvnet 发表于 2011-1-14 14:47:25

帮忙顶起来,我也很想要这样的东西。我和你用途一样,单位用的

zooyo 发表于 2011-1-14 14:47:38

嘿嘿,有radius你怎么不用现成的呢?这个东西workbaby版主会弄。

weikun444 发表于 2011-1-14 15:00:17

Radius我下载了几个,都是收费的,要不就是设置不了。请老大帮忙推荐一个好用的RADIUS服务器软件(2003下用的),要能自动绑定MAC 地址,还有就是带自助系统。:)

lvnet 发表于 2011-1-14 15:16:45

网大的有,580,是基于2003的,没钱买

lvnet 发表于 2011-1-14 15:17:23

回复 weikun444 的帖子

我有艾博力的系统,你要不要

sjcool 发表于 2011-1-17 15:32:29

kankan.......

okpan 发表于 2011-10-5 10:09:29

我也是卡在这里,不知在PHP中有什么格式来识别SET命令。

9939781 发表于 2011-10-5 10:24:50

<?php
require('routeros_api.class.php'); //这个文件,论坛里有,我以前发过
$API = new routeros_api();
$API->debug = false;
if ($API->connect('192.168.1.1', 'admin', '123456'))
{
$API->write('/ppp/secret/set',false);
$API->write('=.id=testpppoe',false);
$API->write('=password=123456');
$API->disconnect();
}
?>

这样就OK了,已在5.7内测试通过。

okpan 发表于 2011-10-5 22:18:39

不知道在3.30中可不可以,先试一下。万分感谢。

okpan 发表于 2011-10-5 22:32:41

本帖最后由 okpan 于 2011-10-5 22:43 编辑

楼主和10楼的在3.30下运行不成功。
以下是添加PPPOE用户。
<?php

require('routeros_api.class.php');

$API = new routeros_api();

$API->debug = false;

if ($API->connect('192.168.1.1', 'admin','123456')) {

$API->comm("/ppp/secret/add", array(
          "name"   => "testpppoe",
          "password" => "123456",
          "service"=> "pppoe",)
                  );
   $API->disconnect();

}
?>

这个程序在3.30下添加用户成功!就是不知如何将SET套用进去。

okpan 发表于 2011-10-5 23:13:29

本帖最后由 okpan 于 2011-10-5 23:15 编辑

搞定!3.30下PPPOE将用户testpppoe密码123456,成功改为654321。
<?php

require('routeros_api.class.php');

$API = new routeros_api();

$API->debug = false;

if ($API->connect('192.168.1.1', 'admin','123456')) {

$API->comm("/ppp/secret/set", array(
          ".id"   => "testpppoe",
          "password" => "654321",)
                  );
   $API->disconnect();

}
?>


这次国庆几天辛苦,终于在10楼9939781给予思路下成功解决。非常感谢。

ason7890 发表于 2011-10-7 03:11:04

断续努力狂挣铜板中....:):D:')

renqing 发表于 2011-10-7 18:44:12

很深东西,跟你们学习了。。

ghostgu 发表于 2012-1-11 20:39:26

不会API,,看看学习、ing...
页: [1] 2
查看完整版本: ROS3.30中利用PHP通过API管理PPPOE用户(有兴趣的进来吧)