รบกวนสอบถามเรื่อง JSON กับ PHP Script ครับ
เพิ่มเติมอันนี้เป็น Function get_dhcp
Code (PHP)
function get_dhcplist()
{
$CI =& get_instance();
$strFileName = set_realpath('').'tmp/dhcp';
$file = exec('/usr/bin/sudo '.$CI->config->item('chilli_query').' list > '.$strFileName.' 2>&1');
$data = array();
$objFopen = fopen($strFileName, 'r');
if ($objFopen)
{
$ic = 0;
while (!feof($objFopen))
{
$ic++;
$str = fgets($objFopen, 4096);
if($str!='') $data[] = explode(' ', $str);
}
fclose($objFopen);
}
$output = array();
if(isset($data))
{
foreach($data AS $value)
{
$d_name = array();
$d_name['mac'] = $value[0];
$d_name['ip'] = $value[1];
$d_name['status'] = $value[2];
$d_name['sessionid'] = $value[3];
$d_name['username'] = $value[5];
$d_name['timeusage'] = $value[6];
$d_name['idletimeout'] = $value[7];
$d_name['download'] = $value[8];
$d_name['upload'] = $value[9];
$d_name['maxpacket'] = $value[10];
$d_name['bandwidth_up'] = substr($value[12],0,strpos($value[12],'/'));
$d_name['bandwidth_down'] = substr($value[13],0,strpos($value[13],'/'));
$output[] = $d_name;
}
}
return $output;
}
function operation($opt, $target, $user = 'bypass', $bwup = '256000', $bwdown = '512000', $acct = 'noacct')
{
$CI =& get_instance();
$command = $CI->config->item('rootcommand').' ' .$CI->config->item('chilli_query');
switch($opt)
{
//ปล่อยผ่าน
case 'authorize' :
$result = exec($command. ' authorize sessionid '.$target.' maxbwup '.$bwup.' maxbwdown '.$bwdown.' username '.$user.' interiminterval 60 '.$acct.' 2>&1');
break;
//ตัดการเชื่อมต่อ
case 'disconnect' :
$result = exec($command.' logout '.$target.' 2>&1');
break;
//บล๊อคแมค
case 'block' :
$result = exec($command.' block '.$target.' 2>&1');
break;
//ให้รับ ไอพีใหม่
case 'release' :
$result = exec($command. ' dhcp-release '.$target.' 2>&1');
break;
default: $result = 'Error';
}
if($result=="") return TRUE;
return FALSE;
}
Date :
2013-02-15 21:41:55
By :
itsmenow
ไม่มีใครเลย เศร้า
Date :
2013-02-16 18:43:41
By :
itsmenow
คือเรื่องของเรื่อง โปรแกรมนี้ก็เป็นโปรแกรมที่ค่อนข้างเฉพาะทางนะครับ
ไม่ใช่โปรแกรมเมอร์ทุกคนจะเข้าใจไอ้เรื่อง Authen หรือ DHCP Server
ผมเองก็คนนึงที่ไม่มีความรู้
ถึงจะรู้ การอธิบายทั้งหมดก็ไม่ใช่งานที่ง่ายนะครับ
เหมือนกับคุณขอให้ใครสักคนแปลเอกสารสองสามหน้าฟรีๆ
มันไม่แปลกที่จะไม่มีใครตอบได้ หรือตอบให้ครับ
ป.ล. ถ้าจะถามคำถามยากขนาดนี้ ลงทุนสมัครสมาชิกหน่อยดีไหมครับ
Date :
2013-02-16 18:53:10
By :
cookiephp
จากระบบ เครือข่าย LAN และ Wan ผ่าน Firewall รึเปล่าครับ
Date :
2013-02-16 20:17:08
By :
Ex-[S]i[L]e[N]t
โทษทีครับผมสมัครแล้วละครับ แต่ด้วยความรีบเลยลืม login ก่อนครับ
เดิมๆมันเป็นเวิร์คครับ LAN > Authen Server > Wan อันนี้มี Login Form ให้ Login ได้
แต่แบบนี้มันไม่เวิร์คครับ outside WAN > Authen WAN อันนี้ไม่มี Login Form ทำให้ Login ไม่ได้
Date :
2013-02-16 20:48:08
By :
itsmenow
อย่างหนึ่งเรืองการกำหนด WAN DHCP เพื่อความชัวถ้ามี firewall เราไปกดหนดที่ตรงนั้นจะสะดวกกว่ามากครับ
การที่เราจะมากำหนดด้วย code มันคงเป็นไปได้ยาก เพราะ ภาษาที่เขียนนั้นไม่สามารถควบคุม Configuration Protocol และ Protocol address ได้
Date :
2013-02-16 20:56:17
By :
Ex-[S]i[L]e[N]t
ในความคิดผมผมว่าเค้าคงเขียน script ฝังไว้ที่ php code ละครับถ้าไม่ได้ DHCP ที่แจกจาก LAN ก็ Hidden ogin Form เลยไม่รู้ต้องแก้ยังไงแค่อยากทราบครับ
Date :
2013-02-16 21:06:09
By :
itsmenow
คุณ istmenow คุณเขียนระบบขึ้นมาเอง หรือว่า แก้ไขไฟล์สำเร็จรูปครับ
Date :
2013-02-16 21:07:04
By :
weaned
จะหาแนวทางไขโปรแกรมสำเร็จรูปครับ
ถ้าต้องการ code ทั้งหมดเดี๋ยวส่งให้ได้ครับ
ประวัติการแก้ไข 2013-02-16 21:27:35
Date :
2013-02-16 21:10:24
By :
itsmenow
ผมวนใจ อยากลองทำเหมือนกันครับ
Date :
2013-02-16 21:48:31
By :
weaned
รับ html กับ php ไปดูไหมครับ
Date :
2013-02-16 21:54:18
By :
itsmenow
ลองเอามาดูหน่อยแต่ผมคงยังไม่ได้ทำไรมากหรอก เอาศึกษาเฉยๆครับ
Date :
2013-02-16 22:07:08
By :
weaned
รับไปดูก็ทำอะไรไม่ได้ เพราะมันต้องคู่กับ Authen Server เวลารันครับ
เวลาสั่งรัน สคริปจะต้องไปหาไฟล์ config บางไฟล์
อย่างคำสั่ง
$file = exec('/usr/bin/sudo '.$CI->config->item('chilli_query').' list > '.$strFileName.' 2>&1');
นี่สั่งให้ sudo เป็นคำสั่งของ unix สาย ubuntu หรือเปล่าครับ
Date :
2013-02-16 23:12:53
By :
deawx
ปกติ CI นี่ ผมแทบจะแก้ได้ทุกส่วนในโปรแกรม
และเป็น 100% linux user (ยกเว้นที่ออฟฟิศ)
แต่เรื่องเน็ตเวิร์ค เต็ม 100 ผมคงได้สัก 20%-30%
Code (PHP)
$file = exec('/usr/bin/sudo '.$CI->config->item('chilli_query').' list > '.$strFileName.' 2>&1');
นี่สั่งให้ sudo เป็นคำสั่งของ unix สาย ubuntu หรือเปล่าครับ
สั่งให้นำผลลัพธ์ ไปเก็บไว้ที่ไฟล์ครับ
และ ubuntu เป็นญาติสนิท debian ครับ
Date :
2013-02-17 00:14:15
By :
triplea
เดี๋ยวผม capture หน้าตอให้ดู ใครอยาก remote เข้ามาดูเดี๋ยวเปิดให้ครับ หุหุหุ
Date :
2013-02-17 07:19:51
By :
itsmenow
เอาหลังตอด้วยนะครับ.....พิมพ์ผิดความหมายเปลี่ยน แต่ก็เป็นที่เข้าใจ อิอิ
Date :
2013-02-17 08:41:34
By :
apisitp
ภาพแรกเครื่อง Client อยู่ใน Network เดียวกัน
ภาพที่ 2 Login จาก WAN ด้านอก
Date :
2013-02-17 14:06:44
By :
itsmenow
Load balance : Server 00