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

08年7月9日(Wed) 19時36分
TOP » xpWiki::Dev » keyword » HypCommonPreLoad

HypCommonPreLoad (えっちわいぴー・こもん・ぷりろーど) anchor.png Edit

注意

Ver 20080604 未満では、すべての機能がデフォルトで有効になっていましたが、Ver 20080604 以降では、デフォルト値が変更になり、すべての機能が無効になっています。

すでに hyp_preload.conf.php にて、独自設定で運用されている場合は、問題ありませんがデフォルト値で運用されている場合は、「設定方法」を参考に、hyp_preload.conf.php にて設定を行ってください。

アクセス元の検索ワード&エンジン名取得や、検索語のハイライト表示機能、スパム投稿フィルターを組み込む XOOPS Cube 用の Preload Class です。

XOOPS_ROOT_PATH/include/common.php に組み込むことで、XOOPS 2 にも対応できます。

Page Top

組み込み手順 anchor.png Edit

  1. なにはともあれ、HypCommonFuncディレクトリ構造に従いサーバーにアップロードしてください。
  2. Ver 20080604 以降では、すべての機能が無効になっていますので、必要に応じて各機能を有効にしてください。
    • その設定方法は、このページの「設定方法」をご覧ください。
Page Top

XOOPS Cube の場合 anchor.png Edit

  1. Cube の XOOPS_ROOT_PATH/preload ディレクトリに アーカイブの html/preload/HypCommonPreLoad.class.php をアップロードされていることを確認してください。
  2. 完了!
Page Top

XOOPS 2 の場合 anchor.png Edit

  1. 以前に HypCommonFunc, 検索語マーカー, BBQあらしお断りシステム などを 組み込んでいた場合は、common.php を元の状態に戻します。
  2. 検索語マーカー を組み込んでいた場合は、XOOPS_ROOT_PATH/footer.php を元の状態に戻します。
  3. XOOPS_ROOT_PATH/include/common.php を編集します。
       // ############## Include common functions file ##############
       include_once XOOPS_ROOT_PATH.'/include/functions.php';
       // ############# Set Query Words & Load HypCommonFunction Class #############
       include_once XOOPS_TRUST_PATH . '/class/hyp_common/preload/hyp_preload.php';
       $HypCommonPreLoad = @ new HypCommonPreLoad();
       $HypCommonPreLoad->preFilter();
    を挿入。
       if (file_exists('./xoops_version.php')) {
       // ############# POST Filter with HypCommonPreLoad #############
       $HypCommonPreLoad->postFilter();
    を挿入。

以上で完了!

ん〜なんだか面倒だな。って思う人用に 編集済みの filecommon.php を用意しました。 :D

Page Top

設定方法 anchor.png Edit

  • 設定を変えるには XOOPS_TRUST_PATH/class/hyp_common/preload/hyp_preload.co​nf.php.rename を hyp_preload.conf.php にリネームしてその内容を編集します。
    また、このファイルは html側の XOOPS_ROOT_PATH/class/hyp_common ディレクトリに置くこともできます。その場合は html側 が優先されますので、サイトごとに設定を変えることも可能です。
    パスファイル名優先度備考
    XOOPS_ROOT_PATH/class/hyp_common/hyp_preload.conf.php編集可
    XOOPS_TRUST_PATH/class/hyp_common/preload/hyp_preload.conf.php編集可
    XOOPS_TRUST_PATH/class/hyp_common/preload/hyp_preload.php編集不可(デフォルト値)
    上記2つのファイルが存在しない場合このファイル内の設定値が適用されます。
  • 文字エンコーディングを EUC-JP 以外にして XOOPS を運用している場合(UTF-8など)は、html側のXOOPS_ROOT_PATH/class/hyp_common/hyp_preload.conf.php をその文字エンコーディングで保存してください。
  • 設定箇所は以下の部分です。
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    
    // 各機能のメインスイッチ (On = 1, Off = 0)
    $this->use_set_query_words   = 0; // 検索ワードを定数にセット
    $this->use_words_highlight   = 0; // 検索ワードをハイライト表示
    $this->use_proxy_check       = 0; // POST時プロキシチェックする
    $this->use_dependence_filter = 0; // 機種依存文字フィルター
    $this->use_post_spam_filter  = 0; // POST SPAM フィルター
    $this->post_spam_trap_set    = 0; // 無効フィールドのBot罠を自動で仕掛ける
     
    // 各種設定
    $this->configEncoding = 'EUC-JP'; // このファイルの文字コード
     
    $this->encodehint_word = 'ぷ';    // POSTエンコーディング判定用文字
    $this->encodehint_name = 'HypEncHint'; // POSTエンコーディング判定用 Filed name
     
    $this->msg_words_highlight = 'これらのキーワードがハイライトされています';
     
    $this->no_proxy_check  = '/^(127\.0\.0\.1|192\.168\.1\.)/'; // 除外IP
    $this->msg_proxy_check = 'Can not post from public proxy.';
     
    // POST SPAM
    $this->use_mail_notify = 1;       // POST SPAM メール通知 0:なし, 1:SPAM判定のみ, 2:すべて
    $this->post_spam_a   = 1;         // <a> タグ 1個あたりのポイント
    $this->post_spam_bb  = 1;         // BBリンク 1個あたりのポイント
    $this->post_spam_url = 1;         // URL      1個あたりのポイント
    $this->post_spam_host  = 31;      // Spam HOST の加算ポイント
    $this->post_spam_word  = 10;      // Spam Word の加算ポイント
    $this->post_spam_filed = 51;      // Spam 無効フィールドの加算ポイント
    $this->post_spam_trap  = '___url';// Spam 罠用無効フィールド名
     
    $this->post_spam_user  = 30;      // POST SPAM 閾値: ログインユーザー
    $this->post_spam_guest = 15;      // POST SPAM 閾値: ゲスト
    $this->post_spam_badip = 50;      // アクセス拒否リストへ登録する閾値
     
    // POST SPAM のポイント加算設定
    $this->post_spam_rules = array(
        // 同じURLが1行に3回 11pt
        "/((?:ht|f)tps?:\/\/[!~*'();\/?:\@&=+\$,%#\w.-]+).+?\\1.+?\\1/i" => 11,
     
        // 65文字以上の英数文字のみで構成されている 15pt
        // '/^[\x00-\x7f\s]{65,}$/' => 15,
     
        // 無効な文字コードがある 31pt
        '/[\x00-\x08\x11-\x12\x14-\x1f\x7f\xff]+/' => 31
    );
     
    // 無効なフィールド定義
    $this->ignore_fileds = array(
        // 'url' => array('newbb/post.php', 'comment_post.php'),
    );
     
    // 検索ワード定数名
    $this->q_word  = 'XOOPS_QUERY_WORD';         // 検索ワード
    $this->q_word2 = 'XOOPS_QUERY_WORD2';        // 検索ワード分かち書き
    $this->se_name = 'XOOPS_SEARCH_ENGINE_NAME'; // 検索元名
     
    // KAKASI での分かち書き結果のキャッシュ先
    $this->kakasi_cache_dir = XOOPS_ROOT_PATH.'/cache2/kakasi/';
  • 検索ワードの分かち書き機能を利用する場合は、サーバーに KAKASI がインストールされていて、その KAKASI のパスを XOOPS_TRUST_PATH/class/hyp_common/hyp_kakasi.php 内で適切に設定する必要があります。
  • KAKASI での分かち書き結果のキャッシュ を有効にするには、"$this->kakasi_cache_dir" で指定したディレクトリにファイル作成権限(707, 777 など)を与える必要があります。
Page Top

各機能の詳細説明 anchor.png Edit

Page Top
検索ワードを定数にセット anchor.png Edit

サイト内検索や検索エンジンの検索結果から移動してきた場合に、ユーザーの検索語を定数にセットします。

Page Top
検索ワードをハイライト表示 anchor.png Edit

ページ内の検索された語句をハイライト表示します。ちょうど、Google などのキャッシュ表示のような感じです。

Page Top
POST時プロキシチェックする anchor.png Edit

公開プロキシ経由のフォームからの投稿・登録処理を拒否します。

Page Top
機種依存文字フィルター anchor.png Edit

Windows の機種依存文字をチェックし、代替文字に置換します。

Page Top
POST SPAM フィルター anchor.png Edit

フォームから投稿・登録処理の送信内容をチェックしスパムと判定した場合、即刻 exit() します。(真っ白なページになります)

スパム判定の仕組みは、<a>タグ、BBコードリンク、URL などの個数をチェックし、設定されたポイントを加算していき、閾値を超えたものをスパムと判定します。

閾値は、ゲスト・登録ユーザーと分けて設定できます。

Page Top
無効フィールドのBot罠を自動で仕掛ける anchor.png Edit

通常のブラウザには表示されないフィールドを「SPAMボット」用に仕掛けて、そのフィールドに値が入っている場合に特別のポイント加算をします。

Page Top
携帯対応レンダーを有効にする anchor.png Edit

携帯電話用に出力を再構成する「携帯対応レンダー」機能を有効にします。

設定等詳しくは、./​HYP_K_TAI_RENDER をご覧ください。

nao-pon/blog/2008-06-17 [プリロードで携帯対応する [ 携帯対応レンダー ] ] - UsersWiki に開発時の日記もあります。

Page Top

検索語マーカー用のCSSについて~ anchor.png Edit

CSS は XOOPS_ROOT_PATH/xoops.css に追加するとよいでしょう。
※ background: url(/xoops/images/ext.png) center right no-repeat;
 この部分の赤字の部分は適宜環境に応じて書き換えてください。

Everything is expanded.Everything is shortened.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
-
|
|
!
 
-
|
|
!
 
-
|
|
!
 
-
|
|
!
 
-
|
|
!
 
-
|
|
!
 
-
|
|
!
 
-
|
|
!
 
-
|
|
!
 
-
|
|
!
 
-
|
|
!
a.ext
{
    background: url(/xoops/images/ext.png) center right no-repeat;
    padding-right: 12px;
}
 
strong.word0 {
    background-color:#FFFF66;
    color:black;
}
 
strong.word1 {
    background-color:#A0FFFF;
    color:black;
}
 
strong.word2 {
    background-color:#99FF99;
    color:black;
}
 
strong.word3 {
    background-color:#FF9999;
    color:black;
}
 
strong.word4 {
    background-color:#FF66FF;
    color:black;
}
 
strong.word5 {
    background-color:#880000;
    color:white;
}
 
strong.word6 {
    background-color:#00AA00;
    color:white;
}
 
strong.word7 {
    background-color:#886800;
    color:white;
}
 
strong.word8 {
    background-color:#004699;
    color:white;
}
 
strong.word9 {
    background-color:#990099;
    color:white;
}


Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 5031, today: 19, yesterday: 22
Last-modified: 2008-06-24 (Tue) 00:14:30 (JST) (15d) by nao-pon
このページのTopへ
ログイン
ユーザ名:

パスワード:

オートログイン

Basic 認証

Register now! | Lost Password?

アクティブメニュー
"ぽちっ"としてね☆
付箋機能 (xpwiki)
Fusen(Tag) menu 
Tag Editor
Color: BG:
Name:  Connect line ID:
 
MenuBar (xpwiki)
ブックマーク
Please log in to use it.
[Login]

ソーシャルブックマーク
サイト内 Wiki
☆ 検索 ☆



高度な検索(サイト内)
FireFox検索プラグイン
オンライン状況
合計 105 人がオンライン中 :-)
(xpWiki::Dev : 4 人)

登録ユーザ: 1 & ゲスト: 104

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

nao-pon
 

登録ユーザ数: 1374


現在ページのQRコード
現在ページのQRコード
[携帯対応]
参照元情報