hypweb.net
XOOPSマニア  最新情報のRSS(サイト全体)
[ 自宅サーバーWebRing |ID=54 前後5表示乱移動サイト一覧 ]

17年9月20日(Wed) 5時30分
TOP » UsersWiki » nao-pon » blog » 2017-02-14

RSS of nao-pon/blog
2017 2月 14 (火)
 

XOOPS サイトの IPv6 対応の私的メモ anchor.png

hypweb.net の Web サーバーを IPv6 対応しました。
IPv6 でアクセスすると左上に IPv6 の文字が表示されます。

hypweb_IPv6.png

しかし、XOOPS 固有の問題がありちょこちょこ修正しています。

このページはその私的メモで、随時更新していきます。

Page Top

施した対策 anchor.png

  • online テーブルの online_ip カラムの文字数拡張(39文字)
  • protector モジュールの class/protector.php ip_match() の IPv6 対応(後述)
  • protector モジュールの一般設定 信頼できる IP に ^::1$ と ^fe80:: を追加
  • protector モジュールの管理画面の BadIP のリストアップとその保存処理で、有効時間とIPのセパレーターを ":" から "-" に変更(trust/modules/protector/admin/index.php)
  • d3forum の posts テーブルの poster_ip, modifier_ip カラムの文字数拡張(39文字)
  • xpWiki モジュールの counter, tb テーブルの ip カラムの文字数拡張(モジュールアップデートスクリプトにて対応完了)
Page Top

ToDo anchor.png

  • protector の BadIP の登録で IPv6 のプレフィクス長を管理画面で指定できるようにする。
Page Top

詳細メモ anchor.png

Page Top

class/protector.php ip_match() anchor.png

366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
function ip_match( $ips )
{
    foreach( $ips as $ip => $info ) {
        if( $ip ) {
            $ip = strtolower($ip);
            switch( substr( $ip , -1 ) ) {
                case '.' :
                case ':' :
                    // foward match
                    if( substr( @$_SERVER['REMOTE_ADDR'] , 0 , strlen( $ip ) ) == $ip ) {
                        $this->ip_matched_info = $info ;
                        return true ;
                    }
                    break ;
                case '0' :
                case '1' :
                case '2' :
                case '3' :
                case '4' :
                case '5' :
                case '6' :
                case '7' :
                case '8' :
                case '9' :
                case 'a' :
                case 'b' :
                case 'c' :
                case 'd' :
                case 'e' :
                case 'f' :
                    // full match
                    if( @$_SERVER['REMOTE_ADDR'] == $ip ) {
                        $this->ip_matched_info = $info ;
                        return true ;
                    }
                    break ;
                default :
                    // perl regex
                    if( @preg_match( $ip , @$_SERVER['REMOTE_ADDR'] ) ) {
                        $this->ip_matched_info = $info ;
                        return true ;
                    }
                    break ;
            }
        }
    }
    $this->ip_matched_info = null ;
    return false ;
}


新しくコメントをつける

題名
ゲスト名
投稿本文

より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 571, today: 2, yesterday: 1
初版日時: 2017-02-14 (火) 17:14:40
最終更新: 2017-02-14 (火) 21:57:55 (JST) (217d) by nao-pon
このページのTopへ
ログイン
ユーザ名:

パスワード:

オートログイン

Basic 認証

新規登録 | パスワード紛失



メインメニュー
UsersWiki メニュー
付箋メニュー
付箋メニュー 
付箋の編集
文字色: 背景色:
お名前:  線接続id:
 
ブックマーク
オンサイトブックマークは
ログインするとご利用になれます
[ログインする]
サイト内 Wiki
☆ 検索 ☆



高度な検索(サイト内)
FireFox検索プラグイン
オンライン状況
合計 53 人がオンライン中 :-)
(UsersWiki : 1 人)

登録ユーザ: 0 & ゲスト: 53

もっと...
サイト情報
管理人

nao-pon
 

登録ユーザ数: 4459


Web Services by Yahoo! JAPAN
楽天ウェブサービスセンター
Amazon.co.jpアソシエイト
現在ページのQRコード
現在ページのQRコード
[携帯対応]
参照元情報
参照なし