|
发表于 2010-4-25 13:49:05
|
显示全部楼层
本帖最后由 47771885 于 2010-4-25 14:32 编辑
来了还是要看看的
。。。。这是老办法了 有漏洞
有的月份 天数不一样 有28 29 30 31 天的 这就是为什么要转换成数字 老操作
第一中国人不习惯用 鸟语
第 2 能避免其上面的 漏洞 并且。。更加灵活 的扩展性
无模版
- # 14:07 2010-04-25 RouterOS 3.X(3.30) 4.X(4.4) 5.x(5.0)
- # QQ47771885 Guangzhou ver 2.2
- {
- :local nyr [/system clock get date]
- :local yy ([:find jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec [:pick $nyr 0 3]]+1)
- :if ($yy<10) do={:set yy (0 . $yy)}
- :set nyr ([:pick $nyr 7 11] . $yy . [:pick $nyr 4 6])
- :local ii "0";
- /ppp secret;
- :foreach puse in [find disabled=no comment!="" comment!="admin"] do={
- :local pcom [get $puse comment];
- :local pnam [get $puse name];
- :if ([:len $pcom] >= 8) do={
- :local pcom8 [:tonum [:pick $pcom 0 8]];
- :if ($pcom8>1) do={
- :if ($nyr>=$pcom8) do={
- /ppp secret disable [/ppp secret find name=$pnam];:set ii ($ii-1);
- /ppp active remove [/ppp active find name=$pnam];
- :log error ("\BD\FB\D3\C3\D3\C3\BB\A7 [" . $pnam . "]");
- }} else={:log error ("\B4\ED\CE\F3\B5\C4\B1\B8\D7\A2\B8\F1\CA\BD [" . $pnam . "] [" . $pcom . "]");}
- } else={:log error ("\C8\D5\C6\DA\B1\B8\D7\A2\B2\BB\D7\E38\CE\BB [" . $pnam . "] [" . $pcom . "]")}}
- :log warning ("\D3\D0\D0\A7\D3\C3\BB\A7\CA\FD [" . $ii . "]");
- }
复制代码 以上例子借鉴 mxso 兄 月份获取法 简便
*修正 忘记增加踢用户下线 和剔除多余变量
日期备注升级到8位 如20100431 【前8位】
解:
# 14:07 2010-04-25 RouterOS 3.X(3.30) 4.X(4.4) 5.x(5.0)
# QQ47771885 Guangzhou ver 2.2
{
:local nyr [/system clock get date]
:local yy ([:find jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec [:pick $nyr 0 3]]+1)
:if ($yy<10) do={:set yy (0 . $yy)}
:set nyr ([:pick $nyr 7 11] . $yy . [:pick $nyr 4 6]) 数字化 ROS 系统当前时间 8位
:local ii "0"; 账号统计初始化
/ppp secret;
:foreach puse in [find disabled=no comment!="" comment!="admin"] do={ 排除 被禁用 空备注 指定备注
:local pcom [get $puse comment]; 获得账号备注
:local pnam [get $puse name]; 获得账号名
:if ([:len $pcom] >= 8) do={ 判断账号备注位数是否大于或等8位
:local pcom8 [:tonum [:pick $pcom 0 8]]; 重新定义用户备注变量 截取前 8位 并检测是否为纯数字
:if ($pcom8>1) do={如果备注为纯数字
:if ($nyr>=$pcom8) do={ 如果用户备注等于或大于当前日期进行操作
/ppp secret disable [/ppp secret find name=$pnam];:set ii ($ii-1); 禁用账号 并统计减1
/ppp active remove [/ppp active find name=$pnam]; 剔除用户在线的话
:log error ("\BD\FB\D3\C3\D3\C3\BB\A7 [" . $pnam . "]"); 写日志
}} else={:log error ("\B4\ED\CE\F3\B5\C4\B1\B8\D7\A2\B8\F1\CA\BD [" . $pnam . "] [" . $pcom . "]");}
} else={:log error ("\C8\D5\C6\DA\B1\B8\D7\A2\B2\BB\D7\E38\CE\BB [" . $pnam . "] [" . $pcom . "]")}}
:log warning ("\D3\D0\D0\A7\D3\C3\BB\A7\CA\FD [" . $ii . "]"); 显示统计
} |
|