* [proxy.php] Regular expression parity check incorrect for in_the_net [#o58d251a]

- ページ: [[BugTrack2]]
- 投稿者: [[JordanC]]
- 優先順位: 低
- 状態: 保留
- 状態: 却下
- カテゴリー: 本体バグ
- 投稿日: 2008-04-24 (木) 03:49:44
- バージョン: 

** メッセージ [#x35b8bc7]
Because the regular expression used as PKWK_CIDR_NETWORK_REGEX is the following:

 "/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?:\/([0-9.]+))?$/"

Which shorthands to:

 "/^((\d{1,3}){4})(?:\/([0-9.]+))?$/"

An invalid IP address can be used in this check, but it's somewhat of a limitation of brackets for recursion. The following IP addresses are valid with the above regular expression as \d refers to numeric data.

The following IP addresses are valid with the regular expression used:

 999.999.999.999
 090.090.090.090
 000.000.000.000

Again, it's not a HUGE thing but it will throw an error and waste processing time when ip2long is called and the (erroneous) IP address is used.

Regards,
--------
- A regex which will correct this is, of course - "\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b" :)  -- [[JordanC]] &new{2008-04-24 (木) 03:53:23};
- Probably could reduce that to.. "((2[0-5][0-5]|1[0-9][0-9])\.){3}((2[0-5][0-5]|1[0-9][0-9])\.?){1}" -- [[JordanC]] &new{2008-04-24 (木) 04:02:30};
- Yeah, these are just rough, for addresses like 127.0.0.1 due to the minimums and all that. Haven't got a regex checker here, folks :( -- [[JordanC]] &new{2008-04-24 (木) 04:04:36};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u8. HTML convert time: 0.105 sec.

OSDN