[mod_sql]님이 남기신 글:
>proftp 1.25 + mod_sql 로 로긴상태 체크 가능 할까요??
>
>cwd 필드를 체크해서 로긴 상태
>로그아웃상태을
알려고 합니다
>가능할까요 mod_sql을 사용해서
>현재 사용자 인증을 하고 있습니다.
>
>
>SQLLog PASS,CWD updatedir
>SQLNamedQuery updatedir UPDATE \"cwd=\'%d\' where userid=\'%u\'\"
userinfo
>SQLLog quit updatedir
>SQLNamedQuery updatedir UPDATE \"cwd=\'logout\' where userid=\'%u\'\"
userinfo
>
========================================
mod_sql 모듈을 사용해보질 않아서 딱부러지게 답변은 어렵군요.
잠깐 SQL 관련 지시자를 살펴보았는데 ftpwho 와 같은 기능은
아직 없는것 같군요.
ps -ef, ftpwho, ftpcount 와 같은 명령어를
사용해서 알아보는 방법밖에 없는것 같군요.
....
http://proftpd.oops.org/reference.php?mode=detail&id=200&key=SQLLog&
class=s
에 그 답이 있군요(영문).
세션이 종료될때 QUIT 보다는 EXIT 명령어 셋을 사용하라고
하네요.
그렇다면,
SQLLog EXIT updatedir
이렇게 고쳐보세요.
ftpwho 와 비슷하게:
mysql -u username -p dbname -e
"SELECT userid FROM userinfo WHERE cmd != 'logout'"
만약 cmd 컬럼이 세션에 관련된 컬럼이라면
로그인에 성공했을 경우 1 로 설정하고 세션이 종료될때 0으로
설정하면 깔끔하겠군요.
그 이유는 쿼리를 전송할때 cmd != 'logout' 이것 보다는
'cmd = 0' 이 더 낫은 성능이기 때문입니다.
|