2013年8月30日 星期五

PHP Radius認證範例

$username = 'test';
$password = 'test';
$radserver = '192.168.6.4';
$radport = 1812;
$sharedsecret = '1234567890';

$res = radius_auth_open();
echo "$res
\n";

while(1){
  if (!radius_add_server($res, $radserver, $radport, $sharedsecret, 3, 3)) break;
  if (!radius_create_request($res, RADIUS_ACCESS_REQUEST)) break;

//  if (!radius_put_string($res, RADIUS_NAS_IDENTIFIER, isset($HTTP_HOST) ? $HTTP_HOST : 'localhost')) break;
//  if (!radius_put_int($res, RADIUS_SERVICE_TYPE, RADIUS_FRAMED)) break;
//  if (!radius_put_int($res, RADIUS_FRAMED_PROTOCOL, RADIUS_PPP)) break;
//  if (!radius_put_string($res, RADIUS_CALLING_STATION_ID, isset($REMOTE_HOST) ? $REMOTE_HOST : '127.0.0.1') == -1) break;

  if (!radius_put_string($res, RADIUS_USER_NAME, $username)) break;
  if (!radius_put_string($res, RADIUS_USER_PASSWORD, $password)) break;

  $req = radius_send_request($res);
  if (!$req) break;

  if($req== RADIUS_ACCESS_ACCEPT) echo "ok";
  else echo "fail";

  exit();
}

echo 'RadiusError:' . radius_strerror($res);

?>

參考文件
http://sophie.zarb.org/distrib/Mandriva/cooker/x86_64/rpms/php-radius/files/10 
http://php.net/manual/en/radius.constants.attributes.php

CentOS release 6.3 安裝 php radius 套件

yum install php-pear
yum install php-devel
yum install gcc

pear channel-update pear.php.net
pecl install radius

echo extension=radius.so > /etc/php.d/radius.ini

2013年6月28日 星期五

windows 下將所有目錄個別壓縮

for /f "delims=*" %a IN ('dir /a:d /b') do "C:\Program Files\7-Zip\7z" a %a.zip %a

for /d  %a IN (*) do "C:\Program Files\7-Zip\7z" a "%a".zip "%a"

Windows 系統環境變數

%ALLUSERSPROFILE%    C:\Documents and Settings\All Users
%APPDATA%        C:\Documents and Settings\{username} \Application Data
%COMPUTERNAME%        {computername}
%COMSPEC%        C:\Windows\System32\cmd.exe
%HOMEDRIVE%        C:
%HOMEPATH%        \Documents and Settings\{username}
%PATH%            C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem
%PATHEXT%        .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF; .WSH
%PROGRAMFILES%        Directory containing program files
%PROMPT%        Code for current command prompt format. Code is usually $P$G
%SYSTEMDRIVE%        The drive containing the Windows root directory
%SYSTEMROOT%        The Windows root directory
%TEMP% and %TMP%    C:\DOCUME~1\{username}\LOCALS~1\Temp
%USERNAME%        {username}
%USERPROFILE%        C:\Documents and Settings\{username}
%WINDIR%        C:\Windows

%DATE%  當前日期
%TIME%  目前時間
%CD%    目前目錄
%ERRORLEVEL%    錯誤碼
%RANDOM%    Random number between 0 and 32767

VI redo 被 redo 的改變

Ctrl + R

VI 編輯多個檔案

v1 1 2 3 :n 切換下一個檔案 :N 切換上一個檔案

2013年5月23日 星期四

MySQL Unix timestamp 相關函式

FROM_UNIXTIME()   Format UNIX timestamp as a date

UNIX_TIMESTAMP() Return a UNIX timestamp