掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ipアドレスが正しいかどうかを判定するには? (ID:29203)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いまさらですが、wisockのinet_addrを IsSafeIP関数でラップして調査してみました。 Check(False, IsSafeIP('0192.168.0.1')); なぜか、これがIPとして認められてないのに、 Check(True, IsSafeIP('0001.0012.0123.000255')); これはIPとして認められる。 Check(True, IsSafeIP('0.0x0F.0.255')); まさか、これまでIPアドレスとして許容するとは… [WinSock.pas]さんのおっしゃるように Check(True, IsSafeIP('192')); …ひどい… ---------- //uses Winsockを追加 function IsSafeIP(IP:String):Boolean; var InAddr: TInAddr; begin InAddr.S_addr := inet_addr(PChar(IP)); if InAddr.S_addr = INADDR_NONE then begin Result := False; end else begin Result := True; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.