sun's longitude:241 43 17.84 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  

질문과 답변 게시판입니다.

현재 실시간으로 이곳 서버의 설정파일(몇개)를 보여주고 있습니다.
서버의 설정내용에 관한 질문은 먼저 이곳 서버의 설정내용을 참고하시길 바랍니다.

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
1763 번 글의 답장글: Re: inet_aton() and ini_ntoa() 문의
글쓴이: 산이 [홈페이지] 글쓴날: 2003년 11월 08일 20:20:16 토(저녁) 조회: 898

[고석철]님이 남기신 글:

>안녕하세요.
>제목과 관련하여 문의하오니 알려 주시면 감사하겠습니다.

>
>1. CountryStats 디비자료가 한국을 제외하고 ntoa()형식으로
저장되어 있기에 운영자님의 한국 ip를 ntoa() 형식으로 디비에
올리려는데, aton() 형식을 어떻게 변환할 수 있을까요?

aton(); // `address to number' 맞나요?

ipv4 => '192.168.0.1'; // string

이라면, 이것은

ipv4 => 192 *(255*255*255) + 168 * (255*255) + 0 * (255) + 1; //unsigned long

이 됩니다.

디비에 저장된 자료가 어떤 형태인지 샘플로 좀 알 수
있을까요?


http://ftp.ind.net/pub/mirrors/ftp.redhat.com/redhat/linux/6.2/de/do
c/HOWTOS/translations/ko/translations/socketbeej

에 관련 C 예제가 있네요. 제가 C 언처 깡통이라서... T.T
요즘은 FreeBSD 공부중이라서 다른 분야에 신경을 많이
못씁니다..T.T

PHP 에서는

(string) ipv4 <--> (long) ipv4

[string --> long 일 경우]

$ipv4 = sprintf('%u',ip2long((string)$ipv4));

[long --> string 일 경우]

$ipv4 = long2ip((integer)$ipv4);

본 php 클래스에서는 getnetwork() 맴버함(메소드)에
 있습니다.
AND 연산을 위해서 '%u' 대신 '%b' binaray 형태로 바꾸어서 연산했을
뿐입니다.


>
>2. 운영자님이 작성하신 ipv4.php, korea_ip_address.txt는
 php 웹서버에서 어떻게 사용할 수 있는지요?
>

접속한 클라이언트 IP 주소가 한국 IP 주소인지 아닌지를
판별하는데 사용됩니다.
즉 클라이언트 IP 주소하고 global subnet 를 하나씩 ADN 연산하여
그
결과가 한국의 global network 주소에 있다면 한국 IP 주소로
간주하는 아주 간단한 계산입니다.

계산을 간단하게(speed up)하기 위해서 global subnet 으로 미리
계산해
놓은것입니다.


PHP class 소스 :

http://linuxchannel.net/?vhost=phps&php[src]=%2Ffunc%2Fclass.ipv4.ph


## [example]
##
##  echo ipv4::iskrip('192.168.10.3'); // 2
##  echo ipv4::iskrip(gethostbyname('www.linuxchannel.net')); // 1
##  echo ipv4::iskrip($_SERVER['REMOTE_ADDR']); // FALSE or 1 or 2
##
##  echo ipv4::network('192.168.10.3'); // 192.168.0.0/255.255.0.0
##  echo ipv4::network('192.100.10.3'); // 192.0.0.0/255.0.0.0
##  echo ipv4::network($_SERVER['REMOTE_ADDR']); // FALSE or some string
##

본 홈페이지 초기화면 상단 중앙쯤에

your global ip-network
61.248.0.0/255.248.0.0(61.254.75.40) 

이런 메시지가 나올겁니다.

61.248.0.0/255.248.0.0 이것은 한국에서 사용하는
global network / global subnet 입니다.
() 안은 클라이언트 IP 주소이고요.

만약 한국이 아닌 다른 외국 IP 호스트에서 본 홈페이지를
접속한다면
이런 메시지는 볼 수 없습니다.


>감사합니다. 

혹시 제가 질문 취지를 잘못알고 남의 다리를 긁은것 같은
느낌이 드네요.......... ^.^

 
이전글 : inet_aton() and ini_ntoa() 문의
다음글 : Re: Re: inet_aton() and ini_ntoa() 문의  
 from 61.254.75.40
JS(Redhands)Board 0.4 +@

inet_aton() and ini_ntoa() 문의 Re: Re: inet_aton() and ini_ntoa() 문의
인쇄용 


apache lighttpd linuxchannel.net 
Copyright 1997-2024. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds