@@ -2,11 +2,11 @@ |
||
2 | 2 | |
3 | 3 | |
4 | 4 | // Appended by Xoops Language Checker -GIJOE- in 2009-08-29 04:13:44 |
5 | -define('_MD_PROTECTOR_FMT_REGISTER_MORATORIUM','Post it again %s minutes later. (for Anti-SPAMMING, sorry)'); |
|
5 | +define('_MD_PROTECTOR_FMT_REGISTER_MORATORIUM', 'Post it again %s minutes later. (for Anti-SPAMMING, sorry)'); |
|
6 | 6 | |
7 | -define('_MD_PROTECTOR_YOUAREBADIP','الايبي الخاص بك تم منعة بواسطة برنامج الحماية في الموقع<br />') ; |
|
8 | -define('_MD_PROTECTOR_FMT_JAILINFO','سيتم ازالة المنع عنك في %s') ; |
|
9 | -define('_MD_PROTECTOR_FMT_JAILTIME','Y-m-j H:i:s') ; |
|
10 | -define('_MD_PROTECTOR_BANDWIDTHLIMITED','الموقع تحت ضغط شديد . رجاء حاول الرجوع للموقع مره اخرى') ; |
|
11 | -define('_MD_PROTECTOR_TURNJAVASCRIPTON','قم بتفعيل الجافا في متصفحك') ; |
|
12 | -define('_MD_PROTECTOR_DENYBYRBL','قام برنامج الحماية لدينا برفض مقالتك لان الايبي الخاص بك مسجل لدينا على اساس سبام') ; |
|
7 | +define('_MD_PROTECTOR_YOUAREBADIP', 'الايبي الخاص بك تم منعة بواسطة برنامج الحماية في الموقع<br />'); |
|
8 | +define('_MD_PROTECTOR_FMT_JAILINFO', 'سيتم ازالة المنع عنك في %s'); |
|
9 | +define('_MD_PROTECTOR_FMT_JAILTIME', 'Y-m-j H:i:s'); |
|
10 | +define('_MD_PROTECTOR_BANDWIDTHLIMITED', 'الموقع تحت ضغط شديد . رجاء حاول الرجوع للموقع مره اخرى'); |
|
11 | +define('_MD_PROTECTOR_TURNJAVASCRIPTON', 'قم بتفعيل الجافا في متصفحك'); |
|
12 | +define('_MD_PROTECTOR_DENYBYRBL', 'قام برنامج الحماية لدينا برفض مقالتك لان الايبي الخاص بك مسجل لدينا على اساس سبام'); |
@@ -1,59 +1,59 @@ |
||
1 | 1 | <?php |
2 | 2 | |
3 | 3 | // mymenu |
4 | -define('_MD_A_MYMENU_MYTPLSADMIN',''); |
|
5 | -define('_MD_A_MYMENU_MYBLOCKSADMIN','التصاريح'); |
|
6 | -define('_MD_A_MYMENU_MYPREFERENCES','الخيارات'); |
|
4 | +define('_MD_A_MYMENU_MYTPLSADMIN', ''); |
|
5 | +define('_MD_A_MYMENU_MYBLOCKSADMIN', 'التصاريح'); |
|
6 | +define('_MD_A_MYMENU_MYPREFERENCES', 'الخيارات'); |
|
7 | 7 | |
8 | 8 | // index.php |
9 | -define("_AM_TH_DATETIME","الوقت"); |
|
10 | -define("_AM_TH_USER","العضو"); |
|
11 | -define("_AM_TH_IP","ايبي"); |
|
12 | -define("_AM_TH_AGENT","العميل"); |
|
13 | -define("_AM_TH_TYPE","نوع العملية"); |
|
14 | -define("_AM_TH_DESCRIPTION","الوصف"); |
|
15 | - |
|
16 | -define("_AM_TH_BADIPS" , 'الايبيهات السئية<br /><br /><span style="font-weight:normal;">اكتب كل ايبي في سطر جديد<br />اترك الصندوق فارغ ان لم ترغب بمنع اي شخص</span>' ) ; |
|
17 | - |
|
18 | -define("_AM_TH_GROUP1IPS" , 'منع اعضاء الادارة<br /><br /><span style="font-weight:normal;">اكتب كل ايبي في سطر<br />192.168. يعني 192.168.*<br />اترك الجدول فارغا ان لم ترغب بمنع اي من اعضاء الادارة</span>' ) ; |
|
19 | - |
|
20 | -define("_AM_LABEL_COMPACTLOG" , "سجل المتكرر" ) ; |
|
21 | -define("_AM_BUTTON_COMPACTLOG" , "حذف المتكرر" ) ; |
|
22 | -define("_AM_JS_COMPACTLOGCONFIRM" , "سيتم حذف الايبيهات المتكررة باكثر من موضع" ) ; |
|
23 | -define("_AM_LABEL_REMOVEALL" , "حذف كل السجلات" ) ; |
|
24 | -define("_AM_BUTTON_REMOVEALL" , "احذف الكل" ) ; |
|
25 | -define("_AM_JS_REMOVEALLCONFIRM" , "سيتم حذف كل السجلات نهائيا" ) ; |
|
26 | -define("_AM_LABEL_REMOVE" , "حف المحدد من القائمة" ) ; |
|
27 | -define("_AM_BUTTON_REMOVE" , "حذف" ) ; |
|
28 | -define("_AM_JS_REMOVECONFIRM" , "سيتم حذف المحدد" ) ; |
|
29 | -define("_AM_MSG_IPFILESUPDATED" , "تم تحديث حقل الايبيهات" ) ; |
|
30 | -define("_AM_MSG_BADIPSCANTOPEN" , "لم نتمكن من فتح ملف الايبيهات السيئة" ) ; |
|
31 | -define("_AM_MSG_GROUP1IPSCANTOPEN" , "لم نتمكن فتح ملفات الايبيهات للادارة" ) ; |
|
32 | -define("_AM_MSG_REMOVED" , "تم حذف السجلات" ) ; |
|
9 | +define("_AM_TH_DATETIME", "الوقت"); |
|
10 | +define("_AM_TH_USER", "العضو"); |
|
11 | +define("_AM_TH_IP", "ايبي"); |
|
12 | +define("_AM_TH_AGENT", "العميل"); |
|
13 | +define("_AM_TH_TYPE", "نوع العملية"); |
|
14 | +define("_AM_TH_DESCRIPTION", "الوصف"); |
|
15 | + |
|
16 | +define("_AM_TH_BADIPS", 'الايبيهات السئية<br /><br /><span style="font-weight:normal;">اكتب كل ايبي في سطر جديد<br />اترك الصندوق فارغ ان لم ترغب بمنع اي شخص</span>'); |
|
17 | + |
|
18 | +define("_AM_TH_GROUP1IPS", 'منع اعضاء الادارة<br /><br /><span style="font-weight:normal;">اكتب كل ايبي في سطر<br />192.168. يعني 192.168.*<br />اترك الجدول فارغا ان لم ترغب بمنع اي من اعضاء الادارة</span>'); |
|
19 | + |
|
20 | +define("_AM_LABEL_COMPACTLOG", "سجل المتكرر"); |
|
21 | +define("_AM_BUTTON_COMPACTLOG", "حذف المتكرر"); |
|
22 | +define("_AM_JS_COMPACTLOGCONFIRM", "سيتم حذف الايبيهات المتكررة باكثر من موضع"); |
|
23 | +define("_AM_LABEL_REMOVEALL", "حذف كل السجلات"); |
|
24 | +define("_AM_BUTTON_REMOVEALL", "احذف الكل"); |
|
25 | +define("_AM_JS_REMOVEALLCONFIRM", "سيتم حذف كل السجلات نهائيا"); |
|
26 | +define("_AM_LABEL_REMOVE", "حف المحدد من القائمة"); |
|
27 | +define("_AM_BUTTON_REMOVE", "حذف"); |
|
28 | +define("_AM_JS_REMOVECONFIRM", "سيتم حذف المحدد"); |
|
29 | +define("_AM_MSG_IPFILESUPDATED", "تم تحديث حقل الايبيهات"); |
|
30 | +define("_AM_MSG_BADIPSCANTOPEN", "لم نتمكن من فتح ملف الايبيهات السيئة"); |
|
31 | +define("_AM_MSG_GROUP1IPSCANTOPEN", "لم نتمكن فتح ملفات الايبيهات للادارة"); |
|
32 | +define("_AM_MSG_REMOVED", "تم حذف السجلات"); |
|
33 | 33 | //define("_AM_FMT_CONFIGSNOTWRITABLE" , "اعطي التصرح 777 لمجلد الكونفيج في: %s" ) ; |
34 | 34 | |
35 | 35 | |
36 | 36 | // prefix_manager.php |
37 | -define("_AM_H3_PREFIXMAN" , "ادارة حقل القاعدة" ) ; |
|
38 | -define("_AM_MSG_DBUPDATED" , "تم تحديث قاعدة البيانات" ) ; |
|
39 | -define("_AM_CONFIRM_DELETE" , "سيتم حذف كل البيانات" ) ; |
|
40 | -define("_AM_TXT_HOWTOCHANGEDB" , "اذ رغبت بتغير اسم جدول قاعدة البيانات,<br /> عدل ملف %s/mainfile.php <br /><br />define('XOOPS_DB_PREFIX','<b>%s</b>');" ) ; |
|
37 | +define("_AM_H3_PREFIXMAN", "ادارة حقل القاعدة"); |
|
38 | +define("_AM_MSG_DBUPDATED", "تم تحديث قاعدة البيانات"); |
|
39 | +define("_AM_CONFIRM_DELETE", "سيتم حذف كل البيانات"); |
|
40 | +define("_AM_TXT_HOWTOCHANGEDB", "اذ رغبت بتغير اسم جدول قاعدة البيانات,<br /> عدل ملف %s/mainfile.php <br /><br />define('XOOPS_DB_PREFIX','<b>%s</b>');"); |
|
41 | 41 | |
42 | 42 | |
43 | 43 | // advisory.php |
44 | -define("_AM_ADV_NOTSECURE","غير محمي"); |
|
45 | - |
|
46 | -define("_AM_ADV_TRUSTPATHPUBLIC","اذ كنت تشاهد الصورة بالاعلى وبها حرفان بالانجليزية فهذا يعني ان مجلد الحارس بمكان غير محمي بشكل تام. افضل شيء وضع مجلد الحارس خارج روت الموقع وان لم يكن بالامكان فيكفي ابقاء ملف الاكسس داخل المجلد"); |
|
47 | -define("_AM_ADV_TRUSTPATHPUBLICLINK","تاكد من ان مجلد الحارس محمي بملف الاكسس . يجب ان تحصل على الخطا رقم 404 او 500 او 403 وان لم تحصل على من تلك الاخطاء فالمجلد اذا غير محمي بملف الاكسس"); |
|
48 | -define("_AM_ADV_REGISTERGLOBALS","هذة الخاصية تمكن المخربين من الحقن بقاعدة البيانات .. للحماية قم بتعطيلها من خلال ملف الاكسس بوضع الكود التالي بالملف"); |
|
49 | -define("_AM_ADV_ALLOWURLFOPEN","هذا الاختيار يمكن المخربين من تشغيل سكربتات بشكل ريموت على سيرفرك<br /><b>قم بوضع الكود التالي في ملف الاكسس لتعطيلة:<br /> php_admin_flag allow_url_fopen off</b><br />ان كان غير مسموح لك بهذا التعديل راسل المستضيف لتعطيلة لك"); |
|
50 | -define("_AM_ADV_USETRANSSID","لمنع سرقة الكوكيز من جهازك او حقنه اضف هذا الكود بملف الاكسس بموقعك<br /><b>php_flag session.use_trans_sid off</b>"); |
|
51 | -define("_AM_ADV_DBPREFIX","هذا الخيار يتيح الحقن لقاعدة البيانات<br />لا تنسى تفعيل خيار التعقيم من خيارات الموديل"); |
|
52 | -define("_AM_ADV_LINK_TO_PREFIXMAN","ادارة جدول قاعدة الموقع"); |
|
53 | -define("_AM_ADV_MAINUNPATCHED"," واضافة الكود المخصص لموديل الحارسmainfile.php عليك تعديل ملف "); |
|
54 | -define("_AM_ADV_DBFACTORYPATCHED","قاعدة البيانات محمية من الحقن "); |
|
55 | -define("_AM_ADV_DBFACTORYUNPATCHED"," قاعدة البيانات غير محمية بماسك مانع الحقن .. عليق نقل ملف الماسك الي ملفات موقعك.. "); |
|
56 | - |
|
57 | -define("_AM_ADV_SUBTITLECHECK","تاكد ان كان موديل الحارس يعمل"); |
|
58 | -define("_AM_ADV_CHECKCONTAMI","تلويث"); |
|
59 | -define("_AM_ADV_CHECKISOCOM","تعليقات متفرقة"); |
|
44 | +define("_AM_ADV_NOTSECURE", "غير محمي"); |
|
45 | + |
|
46 | +define("_AM_ADV_TRUSTPATHPUBLIC", "اذ كنت تشاهد الصورة بالاعلى وبها حرفان بالانجليزية فهذا يعني ان مجلد الحارس بمكان غير محمي بشكل تام. افضل شيء وضع مجلد الحارس خارج روت الموقع وان لم يكن بالامكان فيكفي ابقاء ملف الاكسس داخل المجلد"); |
|
47 | +define("_AM_ADV_TRUSTPATHPUBLICLINK", "تاكد من ان مجلد الحارس محمي بملف الاكسس . يجب ان تحصل على الخطا رقم 404 او 500 او 403 وان لم تحصل على من تلك الاخطاء فالمجلد اذا غير محمي بملف الاكسس"); |
|
48 | +define("_AM_ADV_REGISTERGLOBALS", "هذة الخاصية تمكن المخربين من الحقن بقاعدة البيانات .. للحماية قم بتعطيلها من خلال ملف الاكسس بوضع الكود التالي بالملف"); |
|
49 | +define("_AM_ADV_ALLOWURLFOPEN", "هذا الاختيار يمكن المخربين من تشغيل سكربتات بشكل ريموت على سيرفرك<br /><b>قم بوضع الكود التالي في ملف الاكسس لتعطيلة:<br /> php_admin_flag allow_url_fopen off</b><br />ان كان غير مسموح لك بهذا التعديل راسل المستضيف لتعطيلة لك"); |
|
50 | +define("_AM_ADV_USETRANSSID", "لمنع سرقة الكوكيز من جهازك او حقنه اضف هذا الكود بملف الاكسس بموقعك<br /><b>php_flag session.use_trans_sid off</b>"); |
|
51 | +define("_AM_ADV_DBPREFIX", "هذا الخيار يتيح الحقن لقاعدة البيانات<br />لا تنسى تفعيل خيار التعقيم من خيارات الموديل"); |
|
52 | +define("_AM_ADV_LINK_TO_PREFIXMAN", "ادارة جدول قاعدة الموقع"); |
|
53 | +define("_AM_ADV_MAINUNPATCHED", " واضافة الكود المخصص لموديل الحارسmainfile.php عليك تعديل ملف "); |
|
54 | +define("_AM_ADV_DBFACTORYPATCHED", "قاعدة البيانات محمية من الحقن "); |
|
55 | +define("_AM_ADV_DBFACTORYUNPATCHED", " قاعدة البيانات غير محمية بماسك مانع الحقن .. عليق نقل ملف الماسك الي ملفات موقعك.. "); |
|
56 | + |
|
57 | +define("_AM_ADV_SUBTITLECHECK", "تاكد ان كان موديل الحارس يعمل"); |
|
58 | +define("_AM_ADV_CHECKCONTAMI", "تلويث"); |
|
59 | +define("_AM_ADV_CHECKISOCOM", "تعليقات متفرقة"); |
@@ -1,118 +1,118 @@ |
||
1 | 1 | <?php |
2 | 2 | |
3 | -if( defined( 'FOR_XOOPS_LANG_CHECKER' ) ) $mydirname = 'protector' ; |
|
4 | -$constpref = '_MI_' . strtoupper( $mydirname ) ; |
|
3 | +if (defined('FOR_XOOPS_LANG_CHECKER')) $mydirname = 'protector'; |
|
4 | +$constpref = '_MI_'.strtoupper($mydirname); |
|
5 | 5 | |
6 | -if( defined( 'FOR_XOOPS_LANG_CHECKER' ) || ! defined( '_MI_PROTECTOR_LOADED' ) ) { |
|
6 | +if (defined('FOR_XOOPS_LANG_CHECKER') || !defined('_MI_PROTECTOR_LOADED')) { |
|
7 | 7 | |
8 | -define('_MI_PROTECTOR_LOADED' , 1 ) ; |
|
8 | +define('_MI_PROTECTOR_LOADED', 1); |
|
9 | 9 | |
10 | 10 | // The name of this module |
11 | -define("_MI_PROTECTOR_NAME","Protector"); |
|
11 | +define("_MI_PROTECTOR_NAME", "Protector"); |
|
12 | 12 | |
13 | 13 | // A brief description of this module |
14 | -define("_MI_PROTECTOR_DESC","悪意ある攻撃からXOOPSを守るためのモジュール<br />DoS,SQL Injection,変数汚染といった攻撃を主に防ぎます。"); |
|
14 | +define("_MI_PROTECTOR_DESC", "悪意ある攻撃からXOOPSを守るためのモジュール<br />DoS,SQL Injection,変数汚染といった攻撃を主に防ぎます。"); |
|
15 | 15 | |
16 | 16 | // Menu |
17 | -define("_MI_PROTECTOR_ADMININDEX","Protect Center"); |
|
18 | -define("_MI_PROTECTOR_ADVISORY","セキュリティガイド"); |
|
19 | -define("_MI_PROTECTOR_PREFIXMANAGER","PREFIX マネージャ"); |
|
17 | +define("_MI_PROTECTOR_ADMININDEX", "Protect Center"); |
|
18 | +define("_MI_PROTECTOR_ADVISORY", "セキュリティガイド"); |
|
19 | +define("_MI_PROTECTOR_PREFIXMANAGER", "PREFIX マネージャ"); |
|
20 | 20 | //define('_MI_PROTECTOR_ADMENU_MYBLOCKSADMIN','アクセス権限') ; |
21 | 21 | |
22 | 22 | // Configs |
23 | -define('_MI_PROTECTOR_GLOBAL_DISBL','動作の一時的中断'); |
|
24 | -define('_MI_PROTECTOR_GLOBAL_DISBLDSC','あらゆる防御動作を一時的に無効化します。<br />問題が解決されたら無効化を解除することをお忘れなく'); |
|
23 | +define('_MI_PROTECTOR_GLOBAL_DISBL', '動作の一時的中断'); |
|
24 | +define('_MI_PROTECTOR_GLOBAL_DISBLDSC', 'あらゆる防御動作を一時的に無効化します。<br />問題が解決されたら無効化を解除することをお忘れなく'); |
|
25 | 25 | |
26 | -define('_MI_PROTECTOR_DEFAULT_LANG','サイトのデフォルト言語'); |
|
27 | -define('_MI_PROTECTOR_DEFAULT_LANGDSC','common処理前の強制終了メッセージを表示する言語を指定します'); |
|
26 | +define('_MI_PROTECTOR_DEFAULT_LANG', 'サイトのデフォルト言語'); |
|
27 | +define('_MI_PROTECTOR_DEFAULT_LANGDSC', 'common処理前の強制終了メッセージを表示する言語を指定します'); |
|
28 | 28 | |
29 | -define('_MI_PROTECTOR_RELIABLE_IPS','信用できるIP'); |
|
30 | -define('_MI_PROTECTOR_RELIABLE_IPSDSC','DoS等の攻撃検知を行わない生IPアドレスを、| で区切って記述します。^は先頭を、$は末尾を表します。'); |
|
29 | +define('_MI_PROTECTOR_RELIABLE_IPS', '信用できるIP'); |
|
30 | +define('_MI_PROTECTOR_RELIABLE_IPSDSC', 'DoS等の攻撃検知を行わない生IPアドレスを、| で区切って記述します。^は先頭を、$は末尾を表します。'); |
|
31 | 31 | |
32 | -define('_MI_PROTECTOR_LOG_LEVEL','ログレベル'); |
|
32 | +define('_MI_PROTECTOR_LOG_LEVEL', 'ログレベル'); |
|
33 | 33 | //define('_MI_PROTECTOR_LOG_LEVELDSC',''); |
34 | 34 | |
35 | -define('_MI_PROTECTOR_BANIP_TIME0','期限付IP拒否の期限(秒)'); |
|
36 | - |
|
37 | -define('_MI_PROTECTOR_LOGLEVEL0','ログ出力一切なし'); |
|
38 | -define('_MI_PROTECTOR_LOGLEVEL15','危険性の高いものだけログを取る'); |
|
39 | -define('_MI_PROTECTOR_LOGLEVEL63','危険性の低いものはログしない'); |
|
40 | -define('_MI_PROTECTOR_LOGLEVEL255','全種類のロギングを有効とする'); |
|
41 | - |
|
42 | -define('_MI_PROTECTOR_HIJACK_TOPBIT','セッションを継続する保護ビット'); |
|
43 | -define('_MI_PROTECTOR_HIJACK_TOPBITDSC','セッションハイジャック対策:<br />通常は32(bit)で、全ビットを保護します。<br />Proxyの利用などで、アクセス毎にIPアドレスが変わる場合には、変動しない最長のビット数を指定します。<br />例えば、192.168.0.0~192.168.0.255で変動する可能性がある場合、ここには24(bit)と指定します。'); |
|
44 | -define('_MI_PROTECTOR_HIJACK_DENYGP','IP変動を禁止するグループ'); |
|
45 | -define('_MI_PROTECTOR_HIJACK_DENYGPDSC','セッションハイジャック対策:<br />セッション中に異なるIPアドレス範囲(上にてビット数指定)からのアクセスを禁止するグループを指定します<br />(管理者についてONにすることをお勧めします)'); |
|
46 | -define('_MI_PROTECTOR_SAN_NULLBYTE','ヌル文字列をスペースに変更する'); |
|
47 | -define('_MI_PROTECTOR_SAN_NULLBYTEDSC','文字列終了キャラクターである "\\0" は、悪意ある攻撃に利用されます。<br />これを見つけた時点でスペースに書き換えます<br />(ONがお勧めです)'); |
|
48 | -define('_MI_PROTECTOR_DIE_NULLBYTE','ヌル文字列を見つけた時点での強制終了'); |
|
49 | -define('_MI_PROTECTOR_DIE_NULLBYTEDSC','文字列終了キャラクターである "\\0" は、悪意ある攻撃に利用されます。<br />(ONがお勧めです)'); |
|
50 | -define('_MI_PROTECTOR_DIE_BADEXT','実行可能ファイルアップロードによる強制終了'); |
|
51 | -define('_MI_PROTECTOR_DIE_BADEXTDSC','拡張子が.phpなど、サーバ上で実行可能となりえるファイルがアップロードされた場合に強制終了します。<br />B-WikiやPukiWikiModをお使いで、頻繁にPHPソースファイルを添付する方は、OFFにして下さい'); |
|
52 | -define('_MI_PROTECTOR_CONTAMI_ACTION','変数汚染が見つかった時の処理'); |
|
53 | -define('_MI_PROTECTOR_CONTAMI_ACTIONDS','XOOPSのシステムグローバルを上書きしようとする攻撃を見つけた場合の処理を選択します。<br />(初期値は「強制終了」)'); |
|
54 | -define('_MI_PROTECTOR_ISOCOM_ACTION','孤立コメントが見つかった時の処理'); |
|
55 | -define('_MI_PROTECTOR_ISOCOM_ACTIONDSC','SQLインジェクション対策:<br />ペアになる*/のない/*を見つけた時の処理を決めます。<br />無害化方法:最後に */ をつけます<br />「無害化」がお勧めです'); |
|
56 | -define('_MI_PROTECTOR_UNION_ACTION','UNIONが見つかった時の処理'); |
|
57 | -define('_MI_PROTECTOR_UNION_ACTIONDSC','SQLインジェクション対策:<br />SQLのUNION構文を検出した時の処理を決めます。<br />無害化方法:UNION を uni-on とします<br />「無害化」がお勧めです'); |
|
58 | -define('_MI_PROTECTOR_ID_INTVAL','ID風変数の強制変換'); |
|
59 | -define('_MI_PROTECTOR_ID_INTVALDSC','変数名がidで終わるものを、数字だと強制認識させます。myLinks派生モジュールに特に有効で、XSSなども防げますが、一部のモジュールで動作不良の原因となる可能性があります。'); |
|
60 | -define('_MI_PROTECTOR_FILE_DOTDOT','DirectoryTraversalの禁止'); |
|
61 | -define('_MI_PROTECTOR_FILE_DOTDOTDSC','DirectoryTraversalを試みていると判断されたリクエスト文字列から、".." というパターンを取り除きます'); |
|
62 | - |
|
63 | -define('_MI_PROTECTOR_BF_COUNT','Brute Force対策'); |
|
64 | -define('_MI_PROTECTOR_BF_COUNTDSC','パスワード総当たりに対抗します。10分間中、ここで指定した回数以上、ログインに失敗すると、そのIPを拒否します。'); |
|
65 | - |
|
66 | -define('_MI_PROTECTOR_BWLIMIT_COUNT','サーバへの過負荷対策'); |
|
67 | -define('_MI_PROTECTOR_BWLIMIT_COUNTDSC','監視時間内に許可する最大アクセス数を指定します。CPU帯域などが貧弱な環境で、サーバへの過負荷を避けたい時にのみ指定してください。安全のために10未満の数値の場合は無視されます'); |
|
68 | - |
|
69 | -define('_MI_PROTECTOR_DOS_SKIPMODS','DoS監視の対象から外すモジュール'); |
|
70 | -define('_MI_PROTECTOR_DOS_SKIPMODSDSC','外したいモジュールのdirnameを|で区切って入力してください。チャット系モジュールなどに有効です'); |
|
71 | - |
|
72 | -define('_MI_PROTECTOR_DOS_EXPIRE','DoS等の監視時間 (秒)'); |
|
73 | -define('_MI_PROTECTOR_DOS_EXPIREDSC','DoSや悪意あるクローラーのアクセス頻度を追うための監視単位時間'); |
|
74 | - |
|
75 | -define('_MI_PROTECTOR_DOS_F5COUNT','F5アタックと見なす回数'); |
|
76 | -define('_MI_PROTECTOR_DOS_F5COUNTDSC','DoS攻撃の防御<br />上で設定した監視時間内に、この回数以上、同一URIへのアクセスがあったら、攻撃されたと見なします'); |
|
77 | -define('_MI_PROTECTOR_DOS_F5ACTION','F5アタックへの対処'); |
|
78 | - |
|
79 | -define('_MI_PROTECTOR_DOS_CRCOUNT','悪意あるクローラーと見なす回数'); |
|
80 | -define('_MI_PROTECTOR_DOS_CRCOUNTDSC','悪意あるクローラー(メアド収集ボット等)への対策<br />上で設定した監視時間内に、この回数以上、サイト内をさぐったら、悪意あるクローラーと見なします'); |
|
81 | -define('_MI_PROTECTOR_DOS_CRACTION','悪意あるクローラーへの対処'); |
|
82 | - |
|
83 | -define('_MI_PROTECTOR_DOS_CRSAFE','拒否しない User-Agent'); |
|
84 | -define('_MI_PROTECTOR_DOS_CRSAFEDSC','無条件でクロール許可するエージェント名を、perlの正規表現で記述します<br />例) /(msnbot|Googlebot|Yahoo! Slurp)/i'); |
|
85 | - |
|
86 | -define('_MI_PROTECTOR_OPT_NONE','なし (ログのみ取る)'); |
|
87 | -define('_MI_PROTECTOR_OPT_SAN','無害化'); |
|
88 | -define('_MI_PROTECTOR_OPT_EXIT','強制終了'); |
|
89 | -define('_MI_PROTECTOR_OPT_BIP','拒否IP登録(無期限)'); |
|
90 | -define('_MI_PROTECTOR_OPT_BIPTIME0','拒否IP登録(期限付)'); |
|
91 | - |
|
92 | -define('_MI_PROTECTOR_DOSOPT_NONE','なし (ログのみ取る)'); |
|
93 | -define('_MI_PROTECTOR_DOSOPT_SLEEP','Sleep(非推奨)'); |
|
94 | -define('_MI_PROTECTOR_DOSOPT_EXIT','exit'); |
|
95 | -define('_MI_PROTECTOR_DOSOPT_BIP','拒否IPリストに載せる(無期限)'); |
|
96 | -define('_MI_PROTECTOR_DOSOPT_BIPTIME0','拒否IPリストに載せる(期限付)'); |
|
97 | -define('_MI_PROTECTOR_DOSOPT_HTA','.htaccessにDENY登録(試験的実装)'); |
|
98 | - |
|
99 | -define('_MI_PROTECTOR_BIP_EXCEPT','拒否IP登録の保護グループ'); |
|
100 | -define('_MI_PROTECTOR_BIP_EXCEPTDSC','ここで指定されたユーザーからのアクセスは、条件を満たしてしまっても、拒否IPとして登録されません。ただし、そのユーザーがログインしていないと意味がありませんので、ご注意下さい。'); |
|
101 | - |
|
102 | -define('_MI_PROTECTOR_DISABLES','危険な機能の無効化'); |
|
103 | - |
|
104 | -define('_MI_PROTECTOR_DBLAYERTRAP','DBレイヤートラップanti-SQL-Injectionを有効にする'); |
|
105 | -define('_MI_PROTECTOR_DBLAYERTRAPDSC','これを有効にすれば、かなり多くのパターンのSQL Injection脆弱性をカバーすることができるでしょう。ただし、利用しているコアシステム側でこの機能に対応している必要があります。セキュリティガイドで確認できます。ONにすることを強くお勧めします。誤判定を繰り返す場合は、下の設定を変更してみてください。'); |
|
106 | -define('_MI_PROTECTOR_DBTRAPWOSRV','DBレイヤートラップでサーバ変数を除外する'); |
|
107 | -define('_MI_PROTECTOR_DBTRAPWOSRVDSC','サーバ設定によってはDBレイヤートラップ機能が常に有効になってしまう可能性があります。SQL Injectionの誤判定が頻発する場合はここをONにしてみてください。ただしここをONにすることでSQL Injectionチェックがかなり甘くなるので、あくまで緊急回避策としてだけ利用してください。'); |
|
108 | - |
|
109 | -define('_MI_PROTECTOR_BIGUMBRELLA','「大きな傘」anti-XSSを有効にする'); |
|
110 | -define('_MI_PROTECTOR_BIGUMBRELLADSC','これを有効にすれば、かなり多くのパターンのXSS脆弱性をキャンセルすることができるでしょう。ただし、100%ではありません。'); |
|
111 | - |
|
112 | -define('_MI_PROTECTOR_SPAMURI4U','SPAM対策:一般ユーザに許すURL数'); |
|
113 | -define('_MI_PROTECTOR_SPAMURI4UDSC','管理者以外の一般ユーザの投稿内容に、この数以上のURLがあったらSPAMと見なします。0なら無制限許可です。'); |
|
114 | -define('_MI_PROTECTOR_SPAMURI4G','SPAM対策:ゲストに許すURL数'); |
|
115 | -define('_MI_PROTECTOR_SPAMURI4GDSC','ゲストの投稿内容に、この数以上のURLがあったらSPAMと見なします。0なら無制限許可です。'); |
|
35 | +define('_MI_PROTECTOR_BANIP_TIME0', '期限付IP拒否の期限(秒)'); |
|
36 | + |
|
37 | +define('_MI_PROTECTOR_LOGLEVEL0', 'ログ出力一切なし'); |
|
38 | +define('_MI_PROTECTOR_LOGLEVEL15', '危険性の高いものだけログを取る'); |
|
39 | +define('_MI_PROTECTOR_LOGLEVEL63', '危険性の低いものはログしない'); |
|
40 | +define('_MI_PROTECTOR_LOGLEVEL255', '全種類のロギングを有効とする'); |
|
41 | + |
|
42 | +define('_MI_PROTECTOR_HIJACK_TOPBIT', 'セッションを継続する保護ビット'); |
|
43 | +define('_MI_PROTECTOR_HIJACK_TOPBITDSC', 'セッションハイジャック対策:<br />通常は32(bit)で、全ビットを保護します。<br />Proxyの利用などで、アクセス毎にIPアドレスが変わる場合には、変動しない最長のビット数を指定します。<br />例えば、192.168.0.0~192.168.0.255で変動する可能性がある場合、ここには24(bit)と指定します。'); |
|
44 | +define('_MI_PROTECTOR_HIJACK_DENYGP', 'IP変動を禁止するグループ'); |
|
45 | +define('_MI_PROTECTOR_HIJACK_DENYGPDSC', 'セッションハイジャック対策:<br />セッション中に異なるIPアドレス範囲(上にてビット数指定)からのアクセスを禁止するグループを指定します<br />(管理者についてONにすることをお勧めします)'); |
|
46 | +define('_MI_PROTECTOR_SAN_NULLBYTE', 'ヌル文字列をスペースに変更する'); |
|
47 | +define('_MI_PROTECTOR_SAN_NULLBYTEDSC', '文字列終了キャラクターである "\\0" は、悪意ある攻撃に利用されます。<br />これを見つけた時点でスペースに書き換えます<br />(ONがお勧めです)'); |
|
48 | +define('_MI_PROTECTOR_DIE_NULLBYTE', 'ヌル文字列を見つけた時点での強制終了'); |
|
49 | +define('_MI_PROTECTOR_DIE_NULLBYTEDSC', '文字列終了キャラクターである "\\0" は、悪意ある攻撃に利用されます。<br />(ONがお勧めです)'); |
|
50 | +define('_MI_PROTECTOR_DIE_BADEXT', '実行可能ファイルアップロードによる強制終了'); |
|
51 | +define('_MI_PROTECTOR_DIE_BADEXTDSC', '拡張子が.phpなど、サーバ上で実行可能となりえるファイルがアップロードされた場合に強制終了します。<br />B-WikiやPukiWikiModをお使いで、頻繁にPHPソースファイルを添付する方は、OFFにして下さい'); |
|
52 | +define('_MI_PROTECTOR_CONTAMI_ACTION', '変数汚染が見つかった時の処理'); |
|
53 | +define('_MI_PROTECTOR_CONTAMI_ACTIONDS', 'XOOPSのシステムグローバルを上書きしようとする攻撃を見つけた場合の処理を選択します。<br />(初期値は「強制終了」)'); |
|
54 | +define('_MI_PROTECTOR_ISOCOM_ACTION', '孤立コメントが見つかった時の処理'); |
|
55 | +define('_MI_PROTECTOR_ISOCOM_ACTIONDSC', 'SQLインジェクション対策:<br />ペアになる*/のない/*を見つけた時の処理を決めます。<br />無害化方法:最後に */ をつけます<br />「無害化」がお勧めです'); |
|
56 | +define('_MI_PROTECTOR_UNION_ACTION', 'UNIONが見つかった時の処理'); |
|
57 | +define('_MI_PROTECTOR_UNION_ACTIONDSC', 'SQLインジェクション対策:<br />SQLのUNION構文を検出した時の処理を決めます。<br />無害化方法:UNION を uni-on とします<br />「無害化」がお勧めです'); |
|
58 | +define('_MI_PROTECTOR_ID_INTVAL', 'ID風変数の強制変換'); |
|
59 | +define('_MI_PROTECTOR_ID_INTVALDSC', '変数名がidで終わるものを、数字だと強制認識させます。myLinks派生モジュールに特に有効で、XSSなども防げますが、一部のモジュールで動作不良の原因となる可能性があります。'); |
|
60 | +define('_MI_PROTECTOR_FILE_DOTDOT', 'DirectoryTraversalの禁止'); |
|
61 | +define('_MI_PROTECTOR_FILE_DOTDOTDSC', 'DirectoryTraversalを試みていると判断されたリクエスト文字列から、".." というパターンを取り除きます'); |
|
62 | + |
|
63 | +define('_MI_PROTECTOR_BF_COUNT', 'Brute Force対策'); |
|
64 | +define('_MI_PROTECTOR_BF_COUNTDSC', 'パスワード総当たりに対抗します。10分間中、ここで指定した回数以上、ログインに失敗すると、そのIPを拒否します。'); |
|
65 | + |
|
66 | +define('_MI_PROTECTOR_BWLIMIT_COUNT', 'サーバへの過負荷対策'); |
|
67 | +define('_MI_PROTECTOR_BWLIMIT_COUNTDSC', '監視時間内に許可する最大アクセス数を指定します。CPU帯域などが貧弱な環境で、サーバへの過負荷を避けたい時にのみ指定してください。安全のために10未満の数値の場合は無視されます'); |
|
68 | + |
|
69 | +define('_MI_PROTECTOR_DOS_SKIPMODS', 'DoS監視の対象から外すモジュール'); |
|
70 | +define('_MI_PROTECTOR_DOS_SKIPMODSDSC', '外したいモジュールのdirnameを|で区切って入力してください。チャット系モジュールなどに有効です'); |
|
71 | + |
|
72 | +define('_MI_PROTECTOR_DOS_EXPIRE', 'DoS等の監視時間 (秒)'); |
|
73 | +define('_MI_PROTECTOR_DOS_EXPIREDSC', 'DoSや悪意あるクローラーのアクセス頻度を追うための監視単位時間'); |
|
74 | + |
|
75 | +define('_MI_PROTECTOR_DOS_F5COUNT', 'F5アタックと見なす回数'); |
|
76 | +define('_MI_PROTECTOR_DOS_F5COUNTDSC', 'DoS攻撃の防御<br />上で設定した監視時間内に、この回数以上、同一URIへのアクセスがあったら、攻撃されたと見なします'); |
|
77 | +define('_MI_PROTECTOR_DOS_F5ACTION', 'F5アタックへの対処'); |
|
78 | + |
|
79 | +define('_MI_PROTECTOR_DOS_CRCOUNT', '悪意あるクローラーと見なす回数'); |
|
80 | +define('_MI_PROTECTOR_DOS_CRCOUNTDSC', '悪意あるクローラー(メアド収集ボット等)への対策<br />上で設定した監視時間内に、この回数以上、サイト内をさぐったら、悪意あるクローラーと見なします'); |
|
81 | +define('_MI_PROTECTOR_DOS_CRACTION', '悪意あるクローラーへの対処'); |
|
82 | + |
|
83 | +define('_MI_PROTECTOR_DOS_CRSAFE', '拒否しない User-Agent'); |
|
84 | +define('_MI_PROTECTOR_DOS_CRSAFEDSC', '無条件でクロール許可するエージェント名を、perlの正規表現で記述します<br />例) /(msnbot|Googlebot|Yahoo! Slurp)/i'); |
|
85 | + |
|
86 | +define('_MI_PROTECTOR_OPT_NONE', 'なし (ログのみ取る)'); |
|
87 | +define('_MI_PROTECTOR_OPT_SAN', '無害化'); |
|
88 | +define('_MI_PROTECTOR_OPT_EXIT', '強制終了'); |
|
89 | +define('_MI_PROTECTOR_OPT_BIP', '拒否IP登録(無期限)'); |
|
90 | +define('_MI_PROTECTOR_OPT_BIPTIME0', '拒否IP登録(期限付)'); |
|
91 | + |
|
92 | +define('_MI_PROTECTOR_DOSOPT_NONE', 'なし (ログのみ取る)'); |
|
93 | +define('_MI_PROTECTOR_DOSOPT_SLEEP', 'Sleep(非推奨)'); |
|
94 | +define('_MI_PROTECTOR_DOSOPT_EXIT', 'exit'); |
|
95 | +define('_MI_PROTECTOR_DOSOPT_BIP', '拒否IPリストに載せる(無期限)'); |
|
96 | +define('_MI_PROTECTOR_DOSOPT_BIPTIME0', '拒否IPリストに載せる(期限付)'); |
|
97 | +define('_MI_PROTECTOR_DOSOPT_HTA', '.htaccessにDENY登録(試験的実装)'); |
|
98 | + |
|
99 | +define('_MI_PROTECTOR_BIP_EXCEPT', '拒否IP登録の保護グループ'); |
|
100 | +define('_MI_PROTECTOR_BIP_EXCEPTDSC', 'ここで指定されたユーザーからのアクセスは、条件を満たしてしまっても、拒否IPとして登録されません。ただし、そのユーザーがログインしていないと意味がありませんので、ご注意下さい。'); |
|
101 | + |
|
102 | +define('_MI_PROTECTOR_DISABLES', '危険な機能の無効化'); |
|
103 | + |
|
104 | +define('_MI_PROTECTOR_DBLAYERTRAP', 'DBレイヤートラップanti-SQL-Injectionを有効にする'); |
|
105 | +define('_MI_PROTECTOR_DBLAYERTRAPDSC', 'これを有効にすれば、かなり多くのパターンのSQL Injection脆弱性をカバーすることができるでしょう。ただし、利用しているコアシステム側でこの機能に対応している必要があります。セキュリティガイドで確認できます。ONにすることを強くお勧めします。誤判定を繰り返す場合は、下の設定を変更してみてください。'); |
|
106 | +define('_MI_PROTECTOR_DBTRAPWOSRV', 'DBレイヤートラップでサーバ変数を除外する'); |
|
107 | +define('_MI_PROTECTOR_DBTRAPWOSRVDSC', 'サーバ設定によってはDBレイヤートラップ機能が常に有効になってしまう可能性があります。SQL Injectionの誤判定が頻発する場合はここをONにしてみてください。ただしここをONにすることでSQL Injectionチェックがかなり甘くなるので、あくまで緊急回避策としてだけ利用してください。'); |
|
108 | + |
|
109 | +define('_MI_PROTECTOR_BIGUMBRELLA', '「大きな傘」anti-XSSを有効にする'); |
|
110 | +define('_MI_PROTECTOR_BIGUMBRELLADSC', 'これを有効にすれば、かなり多くのパターンのXSS脆弱性をキャンセルすることができるでしょう。ただし、100%ではありません。'); |
|
111 | + |
|
112 | +define('_MI_PROTECTOR_SPAMURI4U', 'SPAM対策:一般ユーザに許すURL数'); |
|
113 | +define('_MI_PROTECTOR_SPAMURI4UDSC', '管理者以外の一般ユーザの投稿内容に、この数以上のURLがあったらSPAMと見なします。0なら無制限許可です。'); |
|
114 | +define('_MI_PROTECTOR_SPAMURI4G', 'SPAM対策:ゲストに許すURL数'); |
|
115 | +define('_MI_PROTECTOR_SPAMURI4GDSC', 'ゲストの投稿内容に、この数以上のURLがあったらSPAMと見なします。0なら無制限許可です。'); |
|
116 | 116 | |
117 | 117 | |
118 | 118 | } |
@@ -1,6 +1,8 @@ |
||
1 | 1 | <?php |
2 | 2 | |
3 | -if( defined( 'FOR_XOOPS_LANG_CHECKER' ) ) $mydirname = 'protector' ; |
|
3 | +if( defined( 'FOR_XOOPS_LANG_CHECKER' ) ) { |
|
4 | + $mydirname = 'protector' ; |
|
5 | +} |
|
4 | 6 | $constpref = '_MI_' . strtoupper( $mydirname ) ; |
5 | 7 | |
6 | 8 | if( defined( 'FOR_XOOPS_LANG_CHECKER' ) || ! defined( '_MI_PROTECTOR_LOADED' ) ) { |
@@ -1,9 +1,9 @@ |
||
1 | 1 | <?php |
2 | 2 | |
3 | -define('_MD_PROTECTOR_YOUAREBADIP','あなたのIPは不正なアクセスを行うIPとして登録されています。<br />もし必要であればサイト管理者まで連絡してください<br />') ; |
|
4 | -define('_MD_PROTECTOR_FMT_JAILINFO','解除予定日時 %s') ; |
|
5 | -define('_MD_PROTECTOR_FMT_JAILTIME','Y年m月j日 H時i分') ; |
|
6 | -define('_MD_PROTECTOR_BANDWIDTHLIMITED','現在このサイトは混雑しています。間を空けてアクセスしてください') ; |
|
7 | -define('_MD_PROTECTOR_TURNJAVASCRIPTON','JavaScriptをONにしてください') ; |
|
8 | -define('_MD_PROTECTOR_DENYBYRBL','あなたのIPはRBLサーバに不正なアクセスを行うIPとして登録されているために、アクセスが拒否されました。お手数ですが、サイト管理者まで連絡してください。') ; |
|
9 | -define('_MD_PROTECTOR_FMT_REGISTER_MORATORIUM','SPAM防止のためにユーザ登録直後のURL付投稿はお断りしています。お手数ですが%s分後に再度投稿してください。') ; |
|
3 | +define('_MD_PROTECTOR_YOUAREBADIP', 'あなたのIPは不正なアクセスを行うIPとして登録されています。<br />もし必要であればサイト管理者まで連絡してください<br />'); |
|
4 | +define('_MD_PROTECTOR_FMT_JAILINFO', '解除予定日時 %s'); |
|
5 | +define('_MD_PROTECTOR_FMT_JAILTIME', 'Y年m月j日 H時i分'); |
|
6 | +define('_MD_PROTECTOR_BANDWIDTHLIMITED', '現在このサイトは混雑しています。間を空けてアクセスしてください'); |
|
7 | +define('_MD_PROTECTOR_TURNJAVASCRIPTON', 'JavaScriptをONにしてください'); |
|
8 | +define('_MD_PROTECTOR_DENYBYRBL', 'あなたのIPはRBLサーバに不正なアクセスを行うIPとして登録されているために、アクセスが拒否されました。お手数ですが、サイト管理者まで連絡してください。'); |
|
9 | +define('_MD_PROTECTOR_FMT_REGISTER_MORATORIUM', 'SPAM防止のためにユーザ登録直後のURL付投稿はお断りしています。お手数ですが%s分後に再度投稿してください。'); |
@@ -1,59 +1,59 @@ |
||
1 | 1 | <?php |
2 | 2 | |
3 | 3 | // mymenu |
4 | -define('_MD_A_MYMENU_MYTPLSADMIN',''); |
|
5 | -define('_MD_A_MYMENU_MYBLOCKSADMIN','アクセス権限'); |
|
6 | -define('_MD_A_MYMENU_MYPREFERENCES','一般設定'); |
|
4 | +define('_MD_A_MYMENU_MYTPLSADMIN', ''); |
|
5 | +define('_MD_A_MYMENU_MYBLOCKSADMIN', 'アクセス権限'); |
|
6 | +define('_MD_A_MYMENU_MYPREFERENCES', '一般設定'); |
|
7 | 7 | |
8 | 8 | // index.php |
9 | -define("_AM_TH_DATETIME","日時"); |
|
10 | -define("_AM_TH_USER","ユーザ"); |
|
11 | -define("_AM_TH_IP","IP"); |
|
12 | -define("_AM_TH_AGENT","AGENT"); |
|
13 | -define("_AM_TH_TYPE","種別"); |
|
14 | -define("_AM_TH_DESCRIPTION","詳細"); |
|
15 | - |
|
16 | -define("_AM_TH_BADIPS" , '拒否IPリスト<br /><br /><span style="font-weight:normal;">1行1IPアドレスで記述してください(前方一致)。空欄なら全許可。</span>' ) ; |
|
17 | - |
|
18 | -define("_AM_TH_GROUP1IPS" , '管理者グループ(1)の許可IP<br /><br /><span style="font-weight:normal;">1行1IPアドレスで記述してください(前方一致)。<br />192.168. とすれば、192.168.*からのみ管理者になれます。空欄なら全許可。</span>' ) ; |
|
19 | - |
|
20 | -define("_AM_LABEL_COMPACTLOG" , "ログをコンパクト化する" ) ; |
|
21 | -define("_AM_BUTTON_COMPACTLOG" , "コンパクト化実行" ) ; |
|
22 | -define("_AM_JS_COMPACTLOGCONFIRM" , "IPと種別の重複したレコードを削除します" ) ; |
|
23 | -define("_AM_LABEL_REMOVEALL" , "全レコードを削除する:" ) ; |
|
24 | -define("_AM_BUTTON_REMOVEALL" , "全削除実行" ) ; |
|
25 | -define("_AM_JS_REMOVEALLCONFIRM" , "ログを無条件で削除します。本当によろしいですか?" ) ; |
|
26 | -define("_AM_LABEL_REMOVE" , "チェックしたレコードを削除する:" ) ; |
|
27 | -define("_AM_BUTTON_REMOVE" , "削除実行" ) ; |
|
28 | -define("_AM_JS_REMOVECONFIRM" , "本当に削除してよろしいですか?" ) ; |
|
29 | -define("_AM_MSG_IPFILESUPDATED" , "IPリストファイルを書き換えました" ) ; |
|
30 | -define("_AM_MSG_BADIPSCANTOPEN" , "拒否IPリストファイルが開けません" ) ; |
|
31 | -define("_AM_MSG_GROUP1IPSCANTOPEN" , "管理者用IPリストファイルが開けません" ) ; |
|
32 | -define("_AM_MSG_REMOVED" , "削除しました" ) ; |
|
9 | +define("_AM_TH_DATETIME", "日時"); |
|
10 | +define("_AM_TH_USER", "ユーザ"); |
|
11 | +define("_AM_TH_IP", "IP"); |
|
12 | +define("_AM_TH_AGENT", "AGENT"); |
|
13 | +define("_AM_TH_TYPE", "種別"); |
|
14 | +define("_AM_TH_DESCRIPTION", "詳細"); |
|
15 | + |
|
16 | +define("_AM_TH_BADIPS", '拒否IPリスト<br /><br /><span style="font-weight:normal;">1行1IPアドレスで記述してください(前方一致)。空欄なら全許可。</span>'); |
|
17 | + |
|
18 | +define("_AM_TH_GROUP1IPS", '管理者グループ(1)の許可IP<br /><br /><span style="font-weight:normal;">1行1IPアドレスで記述してください(前方一致)。<br />192.168. とすれば、192.168.*からのみ管理者になれます。空欄なら全許可。</span>'); |
|
19 | + |
|
20 | +define("_AM_LABEL_COMPACTLOG", "ログをコンパクト化する"); |
|
21 | +define("_AM_BUTTON_COMPACTLOG", "コンパクト化実行"); |
|
22 | +define("_AM_JS_COMPACTLOGCONFIRM", "IPと種別の重複したレコードを削除します"); |
|
23 | +define("_AM_LABEL_REMOVEALL", "全レコードを削除する:"); |
|
24 | +define("_AM_BUTTON_REMOVEALL", "全削除実行"); |
|
25 | +define("_AM_JS_REMOVEALLCONFIRM", "ログを無条件で削除します。本当によろしいですか?"); |
|
26 | +define("_AM_LABEL_REMOVE", "チェックしたレコードを削除する:"); |
|
27 | +define("_AM_BUTTON_REMOVE", "削除実行"); |
|
28 | +define("_AM_JS_REMOVECONFIRM", "本当に削除してよろしいですか?"); |
|
29 | +define("_AM_MSG_IPFILESUPDATED", "IPリストファイルを書き換えました"); |
|
30 | +define("_AM_MSG_BADIPSCANTOPEN", "拒否IPリストファイルが開けません"); |
|
31 | +define("_AM_MSG_GROUP1IPSCANTOPEN", "管理者用IPリストファイルが開けません"); |
|
32 | +define("_AM_MSG_REMOVED", "削除しました"); |
|
33 | 33 | //define("_AM_FMT_CONFIGSNOTWRITABLE" , "configsディレクトリが書込許可されていません: %s" ) ; |
34 | 34 | |
35 | 35 | |
36 | 36 | // prefix_manager.php |
37 | -define("_AM_H3_PREFIXMAN" , "PREFIX マネージャ" ) ; |
|
38 | -define("_AM_MSG_DBUPDATED" , "データベースが更新されました" ) ; |
|
39 | -define("_AM_CONFIRM_DELETE" , "全テーブルが削除されますがよろしいですか?" ) ; |
|
40 | -define("_AM_TXT_HOWTOCHANGEDB" , "prefixを変更する場合は、%s/mainfile.php 内の以下の部分を書き換えてください<br /><br />define('XOOPS_DB_PREFIX','<b>%s</b>');" ) ; |
|
37 | +define("_AM_H3_PREFIXMAN", "PREFIX マネージャ"); |
|
38 | +define("_AM_MSG_DBUPDATED", "データベースが更新されました"); |
|
39 | +define("_AM_CONFIRM_DELETE", "全テーブルが削除されますがよろしいですか?"); |
|
40 | +define("_AM_TXT_HOWTOCHANGEDB", "prefixを変更する場合は、%s/mainfile.php 内の以下の部分を書き換えてください<br /><br />define('XOOPS_DB_PREFIX','<b>%s</b>');"); |
|
41 | 41 | |
42 | 42 | |
43 | 43 | // advisory.php |
44 | -define("_AM_ADV_NOTSECURE","非推奨"); |
|
45 | - |
|
46 | -define("_AM_ADV_TRUSTPATHPUBLIC","上にNGという画像が表示されていたり、リンク先でエラーが出ないようならXOOPS_TRUST_PATHの設置方法に問題があります。XOOPS_TRUST_PATHはDocumentRoot外に設置するのが基本ですが、そうできない場合でもXOOPS_TRUST_PATH直下にDENY FROM ALLの一行を持つ.htaccessを追加するなどして、XOOPS_TRUST_PATH内に直接アクセスできないようにする必要があります。"); |
|
47 | -define("_AM_ADV_TRUSTPATHPUBLICLINK","TRUST_PATH内のPHPファイルに直アクセスできないことの確認(リンク先が404,403,500エラーなら正常)"); |
|
48 | -define("_AM_ADV_REGISTERGLOBALS","この設定は、様々な変数汚染攻撃を招きます<br />もし、.htaccessを置けるサーバであれば、XOOPSインストールディレクトリの.htaccessを作るか編集するかして下さい"); |
|
49 | -define("_AM_ADV_ALLOWURLFOPEN","この設定だと、外部の任意のスクリプトを実行される危険性があります<br />この設定変更にはサーバの管理者権限が必要です<br />ご自身で管理しているサーバであれば、php.iniやhttpd.confを編集して下さい<br />そうでない場合は、サーバ管理者にお願いしてみて下さい"); |
|
50 | -define("_AM_ADV_USETRANSSID","セッションIDが自動的にリンクに表示される設定となっています。<br />セッションハイジャックを防ぐためにも、XOOPSインストールディレクトリに.htaccessを作るか編集するかして下さい<br /><b>php_flag session.use_trans_sid off</b>"); |
|
51 | -define("_AM_ADV_DBPREFIX","DB接頭辞がデフォルトのxoopsのままなので、SQL Injectionに弱い状態です<br />「孤立コメントの無害化」など、SQL Injection対策の設定をONにすることをお忘れなく"); |
|
52 | -define("_AM_ADV_LINK_TO_PREFIXMAN","PREFIXマネージャへ"); |
|
53 | -define("_AM_ADV_MAINUNPATCHED","READMEに記述された通りに、mainfile.php にパッチを当てて下さい"); |
|
54 | -define("_AM_ADV_DBFACTORYPATCHED","データベースファクトリは対応済みです"); |
|
55 | -define("_AM_ADV_DBFACTORYUNPATCHED","データベースファクトリクラスへのパッチが当たっていないのでDBレイヤートラップanti-SQL-Injectionは効きません"); |
|
56 | - |
|
57 | -define("_AM_ADV_SUBTITLECHECK","Protectorの動作チェック"); |
|
58 | -define("_AM_ADV_CHECKCONTAMI","変数汚染"); |
|
59 | -define("_AM_ADV_CHECKISOCOM","孤立コメント"); |
|
44 | +define("_AM_ADV_NOTSECURE", "非推奨"); |
|
45 | + |
|
46 | +define("_AM_ADV_TRUSTPATHPUBLIC", "上にNGという画像が表示されていたり、リンク先でエラーが出ないようならXOOPS_TRUST_PATHの設置方法に問題があります。XOOPS_TRUST_PATHはDocumentRoot外に設置するのが基本ですが、そうできない場合でもXOOPS_TRUST_PATH直下にDENY FROM ALLの一行を持つ.htaccessを追加するなどして、XOOPS_TRUST_PATH内に直接アクセスできないようにする必要があります。"); |
|
47 | +define("_AM_ADV_TRUSTPATHPUBLICLINK", "TRUST_PATH内のPHPファイルに直アクセスできないことの確認(リンク先が404,403,500エラーなら正常)"); |
|
48 | +define("_AM_ADV_REGISTERGLOBALS", "この設定は、様々な変数汚染攻撃を招きます<br />もし、.htaccessを置けるサーバであれば、XOOPSインストールディレクトリの.htaccessを作るか編集するかして下さい"); |
|
49 | +define("_AM_ADV_ALLOWURLFOPEN", "この設定だと、外部の任意のスクリプトを実行される危険性があります<br />この設定変更にはサーバの管理者権限が必要です<br />ご自身で管理しているサーバであれば、php.iniやhttpd.confを編集して下さい<br />そうでない場合は、サーバ管理者にお願いしてみて下さい"); |
|
50 | +define("_AM_ADV_USETRANSSID", "セッションIDが自動的にリンクに表示される設定となっています。<br />セッションハイジャックを防ぐためにも、XOOPSインストールディレクトリに.htaccessを作るか編集するかして下さい<br /><b>php_flag session.use_trans_sid off</b>"); |
|
51 | +define("_AM_ADV_DBPREFIX", "DB接頭辞がデフォルトのxoopsのままなので、SQL Injectionに弱い状態です<br />「孤立コメントの無害化」など、SQL Injection対策の設定をONにすることをお忘れなく"); |
|
52 | +define("_AM_ADV_LINK_TO_PREFIXMAN", "PREFIXマネージャへ"); |
|
53 | +define("_AM_ADV_MAINUNPATCHED", "READMEに記述された通りに、mainfile.php にパッチを当てて下さい"); |
|
54 | +define("_AM_ADV_DBFACTORYPATCHED", "データベースファクトリは対応済みです"); |
|
55 | +define("_AM_ADV_DBFACTORYUNPATCHED", "データベースファクトリクラスへのパッチが当たっていないのでDBレイヤートラップanti-SQL-Injectionは効きません"); |
|
56 | + |
|
57 | +define("_AM_ADV_SUBTITLECHECK", "Protectorの動作チェック"); |
|
58 | +define("_AM_ADV_CHECKCONTAMI", "変数汚染"); |
|
59 | +define("_AM_ADV_CHECKISOCOM", "孤立コメント"); |
@@ -38,8 +38,8 @@ discard block |
||
38 | 38 | |
39 | 39 | // language file |
40 | 40 | if ($language && !strstr($language, '/')) { |
41 | - if (XoopsLoad::fileExists(dirname(__DIR__) . '/language/' . $language . '/gticket_messages.phtml')) { |
|
42 | - include dirname(__DIR__) . '/language/' . $language . '/gticket_messages.phtml'; |
|
41 | + if (XoopsLoad::fileExists(dirname(__DIR__).'/language/'.$language.'/gticket_messages.phtml')) { |
|
42 | + include dirname(__DIR__).'/language/'.$language.'/gticket_messages.phtml'; |
|
43 | 43 | } |
44 | 44 | } |
45 | 45 | |
@@ -58,7 +58,7 @@ discard block |
||
58 | 58 | // render form as plain html |
59 | 59 | function getTicketHtml($salt = '', $timeout = 1800, $area = '') |
60 | 60 | { |
61 | - return '<input type="hidden" name="XOOPS_G_TICKET" value="' . $this->issue($salt, $timeout, $area) . '" />'; |
|
61 | + return '<input type="hidden" name="XOOPS_G_TICKET" value="'.$this->issue($salt, $timeout, $area).'" />'; |
|
62 | 62 | } |
63 | 63 | |
64 | 64 | // returns an object of XoopsFormHidden including the ticket |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | // return GET parameter string. |
83 | 83 | function getTicketParamString($salt = '', $noamp = false, $timeout = 1800, $area = '') |
84 | 84 | { |
85 | - return ($noamp ? '' : '&') . 'XOOPS_G_TICKET=' . $this->issue($salt, $timeout, $area); |
|
85 | + return ($noamp ? '' : '&').'XOOPS_G_TICKET='.$this->issue($salt, $timeout, $area); |
|
86 | 86 | } |
87 | 87 | |
88 | 88 | // issue a ticket |
@@ -93,7 +93,7 @@ discard block |
||
93 | 93 | // create a token |
94 | 94 | list($usec, $sec) = explode(" ", microtime()); |
95 | 95 | $appendix_salt = empty($_SERVER['PATH']) ? \XoopsBaseConfig::get('db-name') : $_SERVER['PATH']; |
96 | - $token = crypt($salt . $usec . $appendix_salt . $sec); |
|
96 | + $token = crypt($salt.$usec.$appendix_salt.$sec); |
|
97 | 97 | $this->_latest_token = $token; |
98 | 98 | |
99 | 99 | if (empty($_SESSION['XOOPS_G_STUBS'])) { |
@@ -119,7 +119,7 @@ discard block |
||
119 | 119 | ); |
120 | 120 | |
121 | 121 | // paid md5ed token as a ticket |
122 | - return md5($token . \XoopsBaseConfig::get('db-prefix')); |
|
122 | + return md5($token.\XoopsBaseConfig::get('db-prefix')); |
|
123 | 123 | } |
124 | 124 | |
125 | 125 | // check a ticket |
@@ -148,14 +148,14 @@ discard block |
||
148 | 148 | foreach ($stubs_tmp as $stub) { |
149 | 149 | // default lifetime 30min |
150 | 150 | if ($stub['expire'] >= time()) { |
151 | - if (md5($stub['token'] . \XoopsBaseConfig::get('db-prefix')) === $ticket) { |
|
151 | + if (md5($stub['token'].\XoopsBaseConfig::get('db-prefix')) === $ticket) { |
|
152 | 152 | $found_stub = $stub; |
153 | 153 | } else { |
154 | 154 | // store the other valid stubs into session |
155 | 155 | $_SESSION['XOOPS_G_STUBS'][] = $stub; |
156 | 156 | } |
157 | 157 | } else { |
158 | - if (md5($stub['token'] . \XoopsBaseConfig::get('db-prefix')) === $ticket) { |
|
158 | + if (md5($stub['token'].\XoopsBaseConfig::get('db-prefix')) === $ticket) { |
|
159 | 159 | // not CSRF but Time-Out |
160 | 160 | $timeout_flag = true; |
161 | 161 | } |
@@ -224,7 +224,7 @@ discard block |
||
224 | 224 | } |
225 | 225 | |
226 | 226 | $table = '<table>'; |
227 | - $form = '<form action="?' . htmlspecialchars(@$_SERVER['QUERY_STRING'], ENT_QUOTES) . '" method="post" >'; |
|
227 | + $form = '<form action="?'.htmlspecialchars(@$_SERVER['QUERY_STRING'], ENT_QUOTES).'" method="post" >'; |
|
228 | 228 | foreach ($_POST as $key => $val) { |
229 | 229 | if ($key === 'XOOPS_G_TICKET') { |
230 | 230 | continue; |
@@ -240,14 +240,14 @@ discard block |
||
240 | 240 | if (get_magic_quotes_gpc()) { |
241 | 241 | $val = stripslashes($val); |
242 | 242 | } |
243 | - $table .= '<tr><th>' . htmlspecialchars($key, ENT_QUOTES) . '</th><td>' . htmlspecialchars($val, ENT_QUOTES) . '</td></tr>' . "\n"; |
|
244 | - $form .= '<input type="hidden" name="' . htmlspecialchars($key, ENT_QUOTES) . '" value="' . htmlspecialchars($val, ENT_QUOTES) . '" />' . "\n"; |
|
243 | + $table .= '<tr><th>'.htmlspecialchars($key, ENT_QUOTES).'</th><td>'.htmlspecialchars($val, ENT_QUOTES).'</td></tr>'."\n"; |
|
244 | + $form .= '<input type="hidden" name="'.htmlspecialchars($key, ENT_QUOTES).'" value="'.htmlspecialchars($val, ENT_QUOTES).'" />'."\n"; |
|
245 | 245 | } |
246 | 246 | } |
247 | 247 | $table .= '</table>'; |
248 | - $form .= $this->getTicketHtml(__LINE__, 300, $area) . '<input type="submit" value="' . $this->messages['btn_repost'] . '" /></form>'; |
|
248 | + $form .= $this->getTicketHtml(__LINE__, 300, $area).'<input type="submit" value="'.$this->messages['btn_repost'].'" /></form>'; |
|
249 | 249 | |
250 | - echo '<html><head><title>' . $this->messages['err_general'] . '</title><style>table,td,th {border:solid black 1px; border-collapse:collapse;}</style></head><body>' . sprintf($this->messages['fmt_prompt4repost'], $this->getErrors()) . $table . $form . '</body></html>'; |
|
250 | + echo '<html><head><title>'.$this->messages['err_general'].'</title><style>table,td,th {border:solid black 1px; border-collapse:collapse;}</style></head><body>'.sprintf($this->messages['fmt_prompt4repost'], $this->getErrors()).$table.$form.'</body></html>'; |
|
251 | 251 | } |
252 | 252 | |
253 | 253 | /** |
@@ -262,15 +262,15 @@ discard block |
||
262 | 262 | $key = stripslashes($key); |
263 | 263 | } |
264 | 264 | if (is_array($val)) { |
265 | - list($tmp_table, $tmp_form) = $this->extract_post_recursive($key_name . '[' . htmlspecialchars($key, ENT_QUOTES) . ']', $val); |
|
265 | + list($tmp_table, $tmp_form) = $this->extract_post_recursive($key_name.'['.htmlspecialchars($key, ENT_QUOTES).']', $val); |
|
266 | 266 | $table .= $tmp_table; |
267 | 267 | $form .= $tmp_form; |
268 | 268 | } else { |
269 | 269 | if (get_magic_quotes_gpc()) { |
270 | 270 | $val = stripslashes($val); |
271 | 271 | } |
272 | - $table .= '<tr><th>' . $key_name . '[' . htmlspecialchars($key, ENT_QUOTES) . ']</th><td>' . htmlspecialchars($val, ENT_QUOTES) . '</td></tr>' . "\n"; |
|
273 | - $form .= '<input type="hidden" name="' . $key_name . '[' . htmlspecialchars($key, ENT_QUOTES) . ']" value="' . htmlspecialchars($val, ENT_QUOTES) . '" />' . "\n"; |
|
272 | + $table .= '<tr><th>'.$key_name.'['.htmlspecialchars($key, ENT_QUOTES).']</th><td>'.htmlspecialchars($val, ENT_QUOTES).'</td></tr>'."\n"; |
|
273 | + $form .= '<input type="hidden" name="'.$key_name.'['.htmlspecialchars($key, ENT_QUOTES).']" value="'.htmlspecialchars($val, ENT_QUOTES).'" />'."\n"; |
|
274 | 274 | } |
275 | 275 | } |
276 | 276 | return array($table, $form); |
@@ -311,8 +311,8 @@ discard block |
||
311 | 311 | |
312 | 312 | function errorHandler4FindOutput($errNo, $errStr, $errFile, $errLine) |
313 | 313 | { |
314 | - if (preg_match('?' . preg_quote(\XoopsBaseConfig::get('root-path')) . '([^:]+)\:(\d+)?', $errStr, $regs)) { |
|
315 | - echo "Irregular output! check the file " . htmlspecialchars($regs[1]) . " line " . htmlspecialchars($regs[2]); |
|
314 | + if (preg_match('?'.preg_quote(\XoopsBaseConfig::get('root-path')).'([^:]+)\:(\d+)?', $errStr, $regs)) { |
|
315 | + echo "Irregular output! check the file ".htmlspecialchars($regs[1])." line ".htmlspecialchars($regs[2]); |
|
316 | 316 | } else { |
317 | 317 | echo "Irregular output! check language files etc."; |
318 | 318 | } |
@@ -138,7 +138,7 @@ discard block |
||
138 | 138 | $this->_safe_contami = false; |
139 | 139 | $this->last_error_type = 'CONTAMI'; |
140 | 140 | } |
141 | - $this->_initial_recursive($subval, $key . '_' . base64_encode($subkey)); |
|
141 | + $this->_initial_recursive($subval, $key.'_'.base64_encode($subkey)); |
|
142 | 142 | } |
143 | 143 | } else { |
144 | 144 | // check nullbyte attack |
@@ -172,7 +172,7 @@ discard block |
||
172 | 172 | return false; |
173 | 173 | } |
174 | 174 | |
175 | - $result = @mysqli_query("SELECT conf_name,conf_value FROM " . \XoopsBaseConfig::get('db-prefix') . "_config WHERE conf_title like '" . "_MI_PROTECTOR%'", $this->_conn); |
|
175 | + $result = @mysqli_query("SELECT conf_name,conf_value FROM ".\XoopsBaseConfig::get('db-prefix')."_config WHERE conf_title like '"."_MI_PROTECTOR%'", $this->_conn); |
|
176 | 176 | if (!$result || mysql_num_rows($result) < 5) { |
177 | 177 | return false; |
178 | 178 | } |
@@ -231,7 +231,7 @@ discard block |
||
231 | 231 | } |
232 | 232 | |
233 | 233 | if ($redirect_to_top) { |
234 | - header('Location: ' . \XoopsBaseConfig::get('url') . '/'); |
|
234 | + header('Location: '.\XoopsBaseConfig::get('url').'/'); |
|
235 | 235 | exit; |
236 | 236 | } else { |
237 | 237 | $ret = $this->call_filter('prepurge_exit'); |
@@ -265,7 +265,7 @@ discard block |
||
265 | 265 | $agent = @$_SERVER['HTTP_USER_AGENT']; |
266 | 266 | |
267 | 267 | if ($unique_check) { |
268 | - $result = mysqli_query('SELECT ip,type FROM ' . \XoopsBaseConfig::get('db-prefix') . '_' . $this->mydirname . '_log ORDER BY timestamp DESC LIMIT 1', $this->_conn); |
|
268 | + $result = mysqli_query('SELECT ip,type FROM '.\XoopsBaseConfig::get('db-prefix').'_'.$this->mydirname.'_log ORDER BY timestamp DESC LIMIT 1', $this->_conn); |
|
269 | 269 | list($last_ip, $last_type) = mysql_fetch_row($result); |
270 | 270 | if ($last_ip == $ip && $last_type == $type) { |
271 | 271 | $this->_logged = true; |
@@ -273,7 +273,7 @@ discard block |
||
273 | 273 | } |
274 | 274 | } |
275 | 275 | |
276 | - mysqli_query("INSERT INTO " . XOOPS_DB_PREFIX . "_" . $this->mydirname . "_log SET ip='" . addslashes($ip) . "',agent='" . addslashes($agent) . "',type='" . addslashes($type) . "',description='" . addslashes($this->message) . "',uid='" . (int)($uid) . "',timestamp=NOW()", $this->_conn); |
|
276 | + mysqli_query("INSERT INTO ".XOOPS_DB_PREFIX."_".$this->mydirname."_log SET ip='".addslashes($ip)."',agent='".addslashes($agent)."',type='".addslashes($type)."',description='".addslashes($this->message)."',uid='".(int)($uid)."',timestamp=NOW()", $this->_conn); |
|
277 | 277 | $this->_logged = true; |
278 | 278 | return true; |
279 | 279 | } |
@@ -288,7 +288,7 @@ discard block |
||
288 | 288 | $fp = @fopen($this->get_filepath4bwlimit(), 'w'); |
289 | 289 | if ($fp) { |
290 | 290 | @flock($fp, LOCK_EX); |
291 | - fwrite($fp, $expire . "\n"); |
|
291 | + fwrite($fp, $expire."\n"); |
|
292 | 292 | @flock($fp, LOCK_UN); |
293 | 293 | fclose($fp); |
294 | 294 | return true; |
@@ -307,7 +307,7 @@ discard block |
||
307 | 307 | |
308 | 308 | function get_filepath4bwlimit() |
309 | 309 | { |
310 | - return \XoopsBaseConfig::get('trust-path') . '/modules/protector/configs/bwlimit' . substr(md5(\XoopsBaseConfig::get('root-path') . \XoopsBaseConfig::get('db-user') . \XoopsBaseConfig::get('db-prefix')), 0, 6); |
|
310 | + return \XoopsBaseConfig::get('trust-path').'/modules/protector/configs/bwlimit'.substr(md5(\XoopsBaseConfig::get('root-path').\XoopsBaseConfig::get('db-user').\XoopsBaseConfig::get('db-prefix')), 0, 6); |
|
311 | 311 | } |
312 | 312 | |
313 | 313 | function write_file_badips($bad_ips) |
@@ -317,7 +317,7 @@ discard block |
||
317 | 317 | $fp = @fopen($this->get_filepath4badips(), 'w'); |
318 | 318 | if ($fp) { |
319 | 319 | @flock($fp, LOCK_EX); |
320 | - fwrite($fp, serialize($bad_ips) . "\n"); |
|
320 | + fwrite($fp, serialize($bad_ips)."\n"); |
|
321 | 321 | @flock($fp, LOCK_UN); |
322 | 322 | fclose($fp); |
323 | 323 | return true; |
@@ -368,7 +368,7 @@ discard block |
||
368 | 368 | |
369 | 369 | function get_filepath4badips() |
370 | 370 | { |
371 | - return \XoopsBaseConfig::get('root-path') . '/modules/protector/configs/badips' . substr(md5(\XoopsBaseConfig::get('root-path') . \XoopsBaseConfig::get('db-user') . \XoopsBaseConfig::get('db-prefix')), 0, 6); |
|
371 | + return \XoopsBaseConfig::get('root-path').'/modules/protector/configs/badips'.substr(md5(\XoopsBaseConfig::get('root-path').\XoopsBaseConfig::get('db-user').\XoopsBaseConfig::get('db-prefix')), 0, 6); |
|
372 | 372 | } |
373 | 373 | |
374 | 374 | function get_group1_ips($with_info = false) |
@@ -388,12 +388,12 @@ discard block |
||
388 | 388 | |
389 | 389 | function get_filepath4group1ips() |
390 | 390 | { |
391 | - return \XoopsBaseConfig::get('var-path') . '/configs/protector_group1ips_' . substr(md5(\XoopsBaseConfig::get('root-path') . \XoopsBaseConfig::get('db-user') . \XoopsBaseConfig::get('db-prefix')), 0, 6); |
|
391 | + return \XoopsBaseConfig::get('var-path').'/configs/protector_group1ips_'.substr(md5(\XoopsBaseConfig::get('root-path').\XoopsBaseConfig::get('db-user').\XoopsBaseConfig::get('db-prefix')), 0, 6); |
|
392 | 392 | } |
393 | 393 | |
394 | 394 | function get_filepath4confighcache() |
395 | 395 | { |
396 | - return XOOPS_VAR_PATH . '/configs/protector_configcache_' . substr(md5(XOOPS_ROOT_PATH . XOOPS_DB_USER . XOOPS_DB_PREFIX), 0, 6); |
|
396 | + return XOOPS_VAR_PATH.'/configs/protector_configcache_'.substr(md5(XOOPS_ROOT_PATH.XOOPS_DB_USER.XOOPS_DB_PREFIX), 0, 6); |
|
397 | 397 | } |
398 | 398 | |
399 | 399 | function ip_match($ips) |
@@ -450,8 +450,8 @@ discard block |
||
450 | 450 | return false; |
451 | 451 | } |
452 | 452 | |
453 | - $target_htaccess = \XoopsBaseConfig::get('root-path') . '/.htaccess'; |
|
454 | - $backup_htaccess = \XoopsBaseConfig::get('root-path') . '/uploads/.htaccess.bak'; |
|
453 | + $target_htaccess = \XoopsBaseConfig::get('root-path').'/.htaccess'; |
|
454 | + $backup_htaccess = \XoopsBaseConfig::get('root-path').'/uploads/.htaccess.bak'; |
|
455 | 455 | |
456 | 456 | $ht_body = file_get_contents($target_htaccess); |
457 | 457 | |
@@ -476,9 +476,9 @@ discard block |
||
476 | 476 | if (substr($regs[2], -strlen($ip)) == $ip) { |
477 | 477 | return true; |
478 | 478 | } |
479 | - $new_ht_body = $regs[1] . "#PROTECTOR#\n" . $regs[2] . " $ip\n#PROTECTOR#\n" . $regs[3]; |
|
479 | + $new_ht_body = $regs[1]."#PROTECTOR#\n".$regs[2]." $ip\n#PROTECTOR#\n".$regs[3]; |
|
480 | 480 | } else { |
481 | - $new_ht_body = "#PROTECTOR#\nDENY FROM $ip\n#PROTECTOR#\n" . $ht_body; |
|
481 | + $new_ht_body = "#PROTECTOR#\nDENY FROM $ip\n#PROTECTOR#\n".$ht_body; |
|
482 | 482 | } |
483 | 483 | |
484 | 484 | // error_log( "$new_ht_body\n" , 3 , "/tmp/error_log" ) ; |
@@ -532,7 +532,7 @@ discard block |
||
532 | 532 | |
533 | 533 | if (!empty($this->_dblayertrap_doubtfuls) || $force_override) { |
534 | 534 | @define('XOOPS_DB_ALTERNATIVE', 'ProtectorMysqlDatabase'); |
535 | - require_once dirname(__DIR__) . '/class/ProtectorMysqlDatabase.class.php'; |
|
535 | + require_once dirname(__DIR__).'/class/ProtectorMysqlDatabase.class.php'; |
|
536 | 536 | } |
537 | 537 | } |
538 | 538 | |
@@ -694,7 +694,7 @@ discard block |
||
694 | 694 | if (!is_array($current)) { |
695 | 695 | return false; |
696 | 696 | } |
697 | - $current =& $current[$index]; |
|
697 | + $current = & $current[$index]; |
|
698 | 698 | } |
699 | 699 | return $current; |
700 | 700 | } |
@@ -709,16 +709,16 @@ discard block |
||
709 | 709 | |
710 | 710 | switch ($base_array) { |
711 | 711 | case 'G' : |
712 | - $main_ref =& $this->get_ref_from_base64index($_GET, $indexes); |
|
713 | - $legacy_ref =& $this->get_ref_from_base64index($HTTP_GET_VARS, $indexes); |
|
712 | + $main_ref = & $this->get_ref_from_base64index($_GET, $indexes); |
|
713 | + $legacy_ref = & $this->get_ref_from_base64index($HTTP_GET_VARS, $indexes); |
|
714 | 714 | break; |
715 | 715 | case 'P' : |
716 | - $main_ref =& $this->get_ref_from_base64index($_POST, $indexes); |
|
717 | - $legacy_ref =& $this->get_ref_from_base64index($HTTP_POST_VARS, $indexes); |
|
716 | + $main_ref = & $this->get_ref_from_base64index($_POST, $indexes); |
|
717 | + $legacy_ref = & $this->get_ref_from_base64index($HTTP_POST_VARS, $indexes); |
|
718 | 718 | break; |
719 | 719 | case 'C' : |
720 | - $main_ref =& $this->get_ref_from_base64index($_COOKIE, $indexes); |
|
721 | - $legacy_ref =& $this->get_ref_from_base64index($HTTP_COOKIE_VARS, $indexes); |
|
720 | + $main_ref = & $this->get_ref_from_base64index($_COOKIE, $indexes); |
|
721 | + $legacy_ref = & $this->get_ref_from_base64index($HTTP_COOKIE_VARS, $indexes); |
|
722 | 722 | break; |
723 | 723 | default : |
724 | 724 | exit; |
@@ -726,7 +726,7 @@ discard block |
||
726 | 726 | if (!isset($main_ref)) { |
727 | 727 | exit; |
728 | 728 | } |
729 | - $request_ref =& $this->get_ref_from_base64index($_REQUEST, $indexes); |
|
729 | + $request_ref = & $this->get_ref_from_base64index($_REQUEST, $indexes); |
|
730 | 730 | if ($request_ref !== false && $main_ref == $request_ref) { |
731 | 731 | $request_ref = $val; |
732 | 732 | } |
@@ -783,7 +783,7 @@ discard block |
||
783 | 783 | $image_attributes = @getimagesize($_file['tmp_name']); |
784 | 784 | if ($image_attributes === false && is_uploaded_file($_file['tmp_name'])) { |
785 | 785 | // open_basedir restriction |
786 | - $temp_file = \XoopsBaseConfig::get('root-path') . '/uploads/protector_upload_temporary' . md5(time()); |
|
786 | + $temp_file = \XoopsBaseConfig::get('root-path').'/uploads/protector_upload_temporary'.md5(time()); |
|
787 | 787 | move_uploaded_file($_file['tmp_name'], $temp_file); |
788 | 788 | $image_attributes = @getimagesize($temp_file); |
789 | 789 | @unlink($temp_file); |
@@ -832,7 +832,7 @@ discard block |
||
832 | 832 | if ($str === false) { |
833 | 833 | $this->message .= "Isolated comment-in found. ($val)\n"; |
834 | 834 | if ($sanitize) { |
835 | - $this->replace_doubtful($key, $val . '*/'); |
|
835 | + $this->replace_doubtful($key, $val.'*/'); |
|
836 | 836 | } |
837 | 837 | $this->_safe_isocom = false; |
838 | 838 | $this->last_error_type = 'ISOCOM'; |
@@ -875,10 +875,10 @@ discard block |
||
875 | 875 | return false; |
876 | 876 | } |
877 | 877 | |
878 | - $query = "f=serial&ip=" . $_SERVER['REMOTE_ADDR']; |
|
879 | - $query .= isset($_POST['email']) ? "&email=" . $_POST['email'] : ''; |
|
880 | - $query .= isset($_POST['uname']) ? "&username=" . $_POST['uname'] : ''; |
|
881 | - $url = "http://www.stopforumspam.com/api?" . $query; |
|
878 | + $query = "f=serial&ip=".$_SERVER['REMOTE_ADDR']; |
|
879 | + $query .= isset($_POST['email']) ? "&email=".$_POST['email'] : ''; |
|
880 | + $query .= isset($_POST['uname']) ? "&username=".$_POST['uname'] : ''; |
|
881 | + $url = "http://www.stopforumspam.com/api?".$query; |
|
882 | 882 | $ch = curl_init(); |
883 | 883 | curl_setopt($ch, CURLOPT_URL, $url); |
884 | 884 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
@@ -912,16 +912,16 @@ discard block |
||
912 | 912 | break; |
913 | 913 | case 'san' : |
914 | 914 | $_POST = array(); |
915 | - $this->message .= "POST deleted for IP:" . $_SERVER['REMOTE_ADDR']; |
|
915 | + $this->message .= "POST deleted for IP:".$_SERVER['REMOTE_ADDR']; |
|
916 | 916 | break; |
917 | 917 | case 'biptime0' : |
918 | 918 | $_POST = array(); |
919 | - $this->message .= "BAN and POST deleted for IP:" . $_SERVER['REMOTE_ADDR']; |
|
919 | + $this->message .= "BAN and POST deleted for IP:".$_SERVER['REMOTE_ADDR']; |
|
920 | 920 | $this->_should_be_banned_time0 = true; |
921 | 921 | break; |
922 | 922 | case 'bip' : |
923 | 923 | $_POST = array(); |
924 | - $this->message .= "Ban and POST deleted for IP:" . $_SERVER['REMOTE_ADDR']; |
|
924 | + $this->message .= "Ban and POST deleted for IP:".$_SERVER['REMOTE_ADDR']; |
|
925 | 925 | $this->_should_be_banned = true; |
926 | 926 | break; |
927 | 927 | } |
@@ -951,7 +951,7 @@ discard block |
||
951 | 951 | } |
952 | 952 | |
953 | 953 | // gargage collection |
954 | - $result = $db->queryF("DELETE FROM " . $db->prefix($this->mydirname . "_access") . " WHERE expire < UNIX_TIMESTAMP()"); |
|
954 | + $result = $db->queryF("DELETE FROM ".$db->prefix($this->mydirname."_access")." WHERE expire < UNIX_TIMESTAMP()"); |
|
955 | 955 | |
956 | 956 | // for older versions before updating this module |
957 | 957 | if ($result === false) { |
@@ -960,11 +960,11 @@ discard block |
||
960 | 960 | } |
961 | 961 | |
962 | 962 | // sql for recording access log (INSERT should be placed after SELECT) |
963 | - $sql4insertlog = "INSERT INTO " . $db->prefix($this->mydirname . "_access") . " SET ip='$ip4sql',request_uri='$uri4sql',expire=UNIX_TIMESTAMP()+'" . (int)($this->_conf['dos_expire']) . "'"; |
|
963 | + $sql4insertlog = "INSERT INTO ".$db->prefix($this->mydirname."_access")." SET ip='$ip4sql',request_uri='$uri4sql',expire=UNIX_TIMESTAMP()+'".(int)($this->_conf['dos_expire'])."'"; |
|
964 | 964 | |
965 | 965 | // bandwidth limitation |
966 | 966 | if (@$this->_conf['bwlimit_count'] >= 10) { |
967 | - $result = $db->query("SELECT COUNT(*) FROM " . $db->prefix($this->mydirname . "_access")); |
|
967 | + $result = $db->query("SELECT COUNT(*) FROM ".$db->prefix($this->mydirname."_access")); |
|
968 | 968 | list($bw_count) = $db->fetchRow($result); |
969 | 969 | if ($bw_count > $this->_conf['bwlimit_count']) { |
970 | 970 | $this->write_file_bwlimit(time() + $this->_conf['dos_expire']); |
@@ -972,7 +972,7 @@ discard block |
||
972 | 972 | } |
973 | 973 | |
974 | 974 | // F5 attack check (High load & same URI) |
975 | - $result = $db->query("SELECT COUNT(*) FROM " . $db->prefix($this->mydirname . "_access") . " WHERE ip='$ip4sql' AND request_uri='$uri4sql'"); |
|
975 | + $result = $db->query("SELECT COUNT(*) FROM ".$db->prefix($this->mydirname."_access")." WHERE ip='$ip4sql' AND request_uri='$uri4sql'"); |
|
976 | 976 | list($f5_count) = $db->fetchRow($result); |
977 | 977 | if ($f5_count > $this->_conf['dos_f5count']) { |
978 | 978 | |
@@ -1026,7 +1026,7 @@ discard block |
||
1026 | 1026 | } |
1027 | 1027 | |
1028 | 1028 | // Crawler check (High load & different URI) |
1029 | - $result = $db->query("SELECT COUNT(*) FROM " . $db->prefix($this->mydirname . "_access") . " WHERE ip='$ip4sql'"); |
|
1029 | + $result = $db->query("SELECT COUNT(*) FROM ".$db->prefix($this->mydirname."_access")." WHERE ip='$ip4sql'"); |
|
1030 | 1030 | list($crawler_count) = $db->fetchRow($result); |
1031 | 1031 | |
1032 | 1032 | // delayed insert |
@@ -1095,18 +1095,18 @@ discard block |
||
1095 | 1095 | $mal4sql = addslashes("BRUTE FORCE: $victim_uname"); |
1096 | 1096 | |
1097 | 1097 | // gargage collection |
1098 | - $result = $xoopsDB->queryF("DELETE FROM " . $xoopsDB->prefix($this->mydirname . "_access") . " WHERE expire < UNIX_TIMESTAMP()"); |
|
1098 | + $result = $xoopsDB->queryF("DELETE FROM ".$xoopsDB->prefix($this->mydirname."_access")." WHERE expire < UNIX_TIMESTAMP()"); |
|
1099 | 1099 | |
1100 | 1100 | // sql for recording access log (INSERT should be placed after SELECT) |
1101 | - $sql4insertlog = "INSERT INTO " . $xoopsDB->prefix($this->mydirname . "_access") . " SET ip='$ip4sql',request_uri='$uri4sql',malicious_actions='$mal4sql',expire=UNIX_TIMESTAMP()+600"; |
|
1101 | + $sql4insertlog = "INSERT INTO ".$xoopsDB->prefix($this->mydirname."_access")." SET ip='$ip4sql',request_uri='$uri4sql',malicious_actions='$mal4sql',expire=UNIX_TIMESTAMP()+600"; |
|
1102 | 1102 | |
1103 | 1103 | // count check |
1104 | - $result = $xoopsDB->query("SELECT COUNT(*) FROM " . $xoopsDB->prefix($this->mydirname . "_access") . " WHERE ip='$ip4sql' AND malicious_actions like 'BRUTE FORCE:%'"); |
|
1104 | + $result = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix($this->mydirname."_access")." WHERE ip='$ip4sql' AND malicious_actions like 'BRUTE FORCE:%'"); |
|
1105 | 1105 | list($bf_count) = $xoopsDB->fetchRow($result); |
1106 | 1106 | if ($bf_count > $this->_conf['bf_count']) { |
1107 | 1107 | $this->register_bad_ips(time() + $this->_conf['banip_time0']); |
1108 | 1108 | $this->last_error_type = 'BruteForce'; |
1109 | - $this->message .= "Trying to login as '" . addslashes($victim_uname) . "' found.\n"; |
|
1109 | + $this->message .= "Trying to login as '".addslashes($victim_uname)."' found.\n"; |
|
1110 | 1110 | $this->output_log('BRUTE FORCE', 0, true, 1); |
1111 | 1111 | $ret = $this->call_filter('bruteforce_overrun'); |
1112 | 1112 | if ($ret == false) { |
@@ -1140,7 +1140,7 @@ discard block |
||
1140 | 1140 | } |
1141 | 1141 | |
1142 | 1142 | // count BBCode likd [url=www....] up (without [url=http://...]) |
1143 | - $this->_spamcount_uri += count(preg_split('/\[url=(?!http|\\"http|\\\'http|' . $http_host . ')/i', $val)) - 1; |
|
1143 | + $this->_spamcount_uri += count(preg_split('/\[url=(?!http|\\"http|\\\'http|'.$http_host.')/i', $val)) - 1; |
|
1144 | 1144 | } |
1145 | 1145 | } |
1146 | 1146 | |
@@ -1153,7 +1153,7 @@ discard block |
||
1153 | 1153 | $this->_spam_check_point_recursive($_POST); |
1154 | 1154 | |
1155 | 1155 | if ($this->_spamcount_uri >= $points4deny) { |
1156 | - $this->message .= @$_SERVER['REQUEST_URI'] . " SPAM POINT: $this->_spamcount_uri\n"; |
|
1156 | + $this->message .= @$_SERVER['REQUEST_URI']." SPAM POINT: $this->_spamcount_uri\n"; |
|
1157 | 1157 | $this->output_log('URI SPAM', $uid, false, 128); |
1158 | 1158 | $ret = $this->call_filter('spamcheck_overrun'); |
1159 | 1159 | if ($ret == false) { |
@@ -1227,11 +1227,11 @@ discard block |
||
1227 | 1227 | |
1228 | 1228 | // preview CSRF zx 2004/12/14 |
1229 | 1229 | // news submit.php |
1230 | - if (substr(@$_SERVER['SCRIPT_NAME'], -23) === 'modules/news/submit.php' && isset($_POST['preview']) && strpos(@$_SERVER['HTTP_REFERER'], \XoopsBaseConfig::get('url') . '/modules/news/submit.php') !== 0) { |
|
1230 | + if (substr(@$_SERVER['SCRIPT_NAME'], -23) === 'modules/news/submit.php' && isset($_POST['preview']) && strpos(@$_SERVER['HTTP_REFERER'], \XoopsBaseConfig::get('url').'/modules/news/submit.php') !== 0) { |
|
1231 | 1231 | $HTTP_POST_VARS['nohtml'] = $_POST['nohtml'] = 1; |
1232 | 1232 | } |
1233 | 1233 | // news admin/index.php |
1234 | - if (substr(@$_SERVER['SCRIPT_NAME'], -28) === 'modules/news/admin/index.php' && ($_POST['op'] === 'preview' || $_GET['op'] === 'preview') && strpos(@$_SERVER['HTTP_REFERER'], \XoopsBaseConfig::get('url') . '/modules/news/admin/index.php') !== 0) { |
|
1234 | + if (substr(@$_SERVER['SCRIPT_NAME'], -28) === 'modules/news/admin/index.php' && ($_POST['op'] === 'preview' || $_GET['op'] === 'preview') && strpos(@$_SERVER['HTTP_REFERER'], \XoopsBaseConfig::get('url').'/modules/news/admin/index.php') !== 0) { |
|
1235 | 1235 | $HTTP_POST_VARS['nohtml'] = $_POST['nohtml'] = 1; |
1236 | 1236 | } |
1237 | 1237 | // comment comment_post.php |
@@ -1259,7 +1259,7 @@ discard block |
||
1259 | 1259 | */ |
1260 | 1260 | function call_filter($type, $dying_message = '') |
1261 | 1261 | { |
1262 | - require_once __DIR__ . '/ProtectorFilter.php'; |
|
1262 | + require_once __DIR__.'/ProtectorFilter.php'; |
|
1263 | 1263 | $filter_handler = ProtectorFilterHandler::getInstance(); |
1264 | 1264 | $ret = $filter_handler->execute($type); |
1265 | 1265 | if ($ret == false && $dying_message) { |
@@ -31,10 +31,10 @@ discard block |
||
31 | 31 | $xoops = Xoops::getInstance(); |
32 | 32 | $language = $xoops->getConfig('language'); |
33 | 33 | $this->protector = Protector::getInstance(); |
34 | - $lang = !$language ? @$this->protector->_conf['default_lang'] : $language; |
|
35 | - @include_once dirname(__DIR__) . '/language/' . $lang . '/main.php'; |
|
34 | + $lang = !$language ? @$this->protector->_conf['default_lang'] : $language; |
|
35 | + @include_once dirname(__DIR__).'/language/'.$lang.'/main.php'; |
|
36 | 36 | if (!defined('_MD_PROTECTOR_YOUAREBADIP')) { |
37 | - include_once dirname(__DIR__) . '/language/english/main.php'; |
|
37 | + include_once dirname(__DIR__).'/language/english/main.php'; |
|
38 | 38 | } |
39 | 39 | } |
40 | 40 | |
@@ -65,7 +65,7 @@ discard block |
||
65 | 65 | function ProtectorFilterHandler() |
66 | 66 | { |
67 | 67 | $this->protector = Protector::getInstance(); |
68 | - $this->filters_base = dirname(__DIR__) . '/filters_enabled'; |
|
68 | + $this->filters_base = dirname(__DIR__).'/filters_enabled'; |
|
69 | 69 | } |
70 | 70 | |
71 | 71 | static function getInstance() |
@@ -84,9 +84,9 @@ discard block |
||
84 | 84 | |
85 | 85 | $dh = opendir($this->filters_base); |
86 | 86 | while (($file = readdir($dh)) !== false) { |
87 | - if (strncmp($file, $type . '_', strlen($type) + 1) === 0) { |
|
88 | - include_once $this->filters_base . '/' . $file; |
|
89 | - $plugin_name = 'protector_' . substr($file, 0, -4); |
|
87 | + if (strncmp($file, $type.'_', strlen($type) + 1) === 0) { |
|
88 | + include_once $this->filters_base.'/'.$file; |
|
89 | + $plugin_name = 'protector_'.substr($file, 0, -4); |
|
90 | 90 | if (function_exists($plugin_name)) { |
91 | 91 | // old way |
92 | 92 | $ret |= call_user_func($plugin_name); |
@@ -38,17 +38,17 @@ |
||
38 | 38 | global $xoopsDB; |
39 | 39 | $db = $xoopsDB; |
40 | 40 | $protector = Protector::getInstance($db->conn); |
41 | - require_once dirname(__DIR__) . '/gtickets.php'; |
|
41 | + require_once dirname(__DIR__).'/gtickets.php'; |
|
42 | 42 | |
43 | 43 | parent::__construct('', "form_prefip", "center.php", 'post', true); |
44 | 44 | |
45 | 45 | $bad_ips = new Xoops\Form\TextArea(_AM_TH_BADIPS, 'bad_ips', $bad_ips4disp, 3, 90); |
46 | - $bad_ips->setDescription('<br />' . htmlspecialchars($protector->get_filepath4badips())); |
|
46 | + $bad_ips->setDescription('<br />'.htmlspecialchars($protector->get_filepath4badips())); |
|
47 | 47 | $bad_ips->setClass('span3'); |
48 | 48 | $this->addElement($bad_ips); |
49 | 49 | |
50 | 50 | $group1_ips = new Xoops\Form\TextArea(_AM_TH_GROUP1IPS, 'group1_ips', $group1_ips4disp, 3, 90); |
51 | - $group1_ips->setDescription('<br />' . htmlspecialchars($protector->get_filepath4group1ips())); |
|
51 | + $group1_ips->setDescription('<br />'.htmlspecialchars($protector->get_filepath4group1ips())); |
|
52 | 52 | $group1_ips->setClass('span3'); |
53 | 53 | $this->addElement($group1_ips); |
54 | 54 | $formTicket = new xoopsGTicket; |