Nucleus CMS日本語版SVNをgit-svnしたもの。リポジトリの変換作業用
Revision | 5df7634ba7f1bea60e3c316d4d43080d4fc466c9 (tree) |
---|---|
Zeit | 2010-12-27 12:06:42 |
Autor | sakamocchi <sakamocchi@1ca2...> |
Commiter | sakamocchi |
Purge NP_SecurityEnforcer and NP_Text. Now NP_Ping and NP_SkinFiles is included on this package.
git-svn-id: https://svn.sourceforge.jp/svnroot/nucleus-jp/nucleus-jp/trunk@1069 1ca29b6e-896d-4ea0-84a5-967f57386b96
@@ -39,8 +39,6 @@ include('./install_lang_japanese.php'); | ||
39 | 39 | // array('NP_TrackBack', 'NP_MemberGoodies') |
40 | 40 | $aConfPlugsToInstall = array( |
41 | 41 | 'NP_SkinFiles', |
42 | - 'NP_SecurityEnforcer', | |
43 | - 'NP_Text' | |
44 | 42 | ); |
45 | 43 | |
46 | 44 |
@@ -136,15 +134,15 @@ function showInstallForm() { | ||
136 | 134 | <body> |
137 | 135 | <div style="text-align:center"><img src="../nucleus/styles/logo.gif" /></div> <!-- Nucleus logo --> |
138 | 136 | <form method="post" action="index.php"> |
139 | - | |
137 | + | |
140 | 138 | <h1><?php echo _HEADER1; ?></h1> |
141 | - | |
139 | + | |
142 | 140 | <?php echo _TEXT1; ?> |
143 | - | |
141 | + | |
144 | 142 | <h1><?php echo _HEADER1_2 ?></h1> |
145 | - | |
143 | + | |
146 | 144 | <?php echo _TEXT1_2; ?> |
147 | - | |
145 | + | |
148 | 146 | <fieldset> |
149 | 147 | <legend><?php echo _TEXT1_2_TAB_HEAD; ?></legend> |
150 | 148 | <table> |
@@ -159,11 +157,11 @@ function showInstallForm() { | ||
159 | 157 | </tr> |
160 | 158 | </table> |
161 | 159 | </fieldset> |
162 | - | |
160 | + | |
163 | 161 | <h1><?php echo _HEADER2; ?></h1> |
164 | - | |
162 | + | |
165 | 163 | <?php echo _TEXT2; ?> |
166 | - | |
164 | + | |
167 | 165 | <ul> |
168 | 166 | <li>PHP: |
169 | 167 |
@@ -1,210 +0,0 @@ | ||
1 | -<?php | |
2 | -/* | |
3 | -License: | |
4 | -This software is published under the same license as NucleusCMS, namely | |
5 | -the GNU General Public License. See http://www.gnu.org/licenses/gpl.html for | |
6 | -details about the conditions of this license. | |
7 | - | |
8 | -In general, this program is free software; you can redistribute it and/or modify | |
9 | -it under the terms of the GNU General Public License as published by the Free | |
10 | -Software Foundation; either version 2 of the License, or (at your option) any | |
11 | -later version. | |
12 | - | |
13 | -This program is distributed in the hope that it will be useful, but WITHOUT ANY | |
14 | -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A | |
15 | -PARTICULAR PURPOSE. See the GNU General Public License for more details. | |
16 | -*/ | |
17 | -class NP_SecurityEnforcer extends NucleusPlugin { | |
18 | - | |
19 | - function getName() { return 'SecurityEnforcer'; } | |
20 | - | |
21 | - function getAuthor() { return 'Frank Truscott'; } | |
22 | - | |
23 | - function getURL() { return 'http://revcetera.com/ftruscot'; } | |
24 | - | |
25 | - function getVersion() { return '1.0'; } | |
26 | - | |
27 | - function getDescription() { | |
28 | - return _SECURITYENFORCER_DESCRIPTION; | |
29 | - } | |
30 | - | |
31 | - function getMinNucleusVersion() { return 350; } | |
32 | - | |
33 | - function supportsFeature($what) { | |
34 | - switch($what) { | |
35 | - case 'SqlTablePrefix': | |
36 | - return 1; | |
37 | - /*case 'HelpPage': | |
38 | - return 1;*/ | |
39 | - default: | |
40 | - return 0; | |
41 | - } | |
42 | - } | |
43 | - | |
44 | - function getTableList() { return array(sql_table('plug_securityenforcer')); } | |
45 | - function getEventList() { return array('QuickMenu','PrePasswordSet','CustomLogin','LoginSuccess','LoginFailed'); } | |
46 | - | |
47 | - function install() { | |
48 | - global $CONF; | |
49 | - | |
50 | -// Need to make some options | |
51 | - $this->createOption('quickmenu', _SECURITYENFORCER_OPT_QUICKMENU, 'yesno', 'yes'); | |
52 | - $this->createOption('del_uninstall_data', _SECURITYENFORCER_OPT_DEL_UNINSTALL_DATA, 'yesno','no'); | |
53 | - $this->createOption('enable_security', _SECURITYENFORCER_OPT_ENABLE, 'yesno','yes'); | |
54 | - $this->createOption('pwd_min_length', _SECURITYENFORCER_OPT_PWD_MIN_LENGTH, 'text','8'); | |
55 | - $this->createOption('pwd_complexity', _SECURITYENFORCER_OPT_PWD_COMPLEXITY, 'select','0',_SECURITYENFORCER_OPT_SELECT_OFF_COMP.'|0|'._SECURITYENFORCER_OPT_SELECT_ONE_COMP.'|1|'._SECURITYENFORCER_OPT_SELECT_TWO_COMP.'|2|'._SECURITYENFORCER_OPT_SELECT_THREE_COMP.'|3|'._SECURITYENFORCER_OPT_SELECT_FOUR_COMP.'|4'); | |
56 | - $this->createOption('max_failed_login', _SECURITYENFORCER_OPT_MAX_FAILED_LOGIN, 'text', '5'); | |
57 | - $this->createOption('login_lockout', _SECURITYENFORCER_OPT_LOGIN_LOCKOUT, 'text', '15'); | |
58 | - | |
59 | -// create needed tables | |
60 | - sql_query("CREATE TABLE IF NOT EXISTS ". sql_table('plug_securityenforcer'). | |
61 | - " ( | |
62 | - `login` varchar(255), | |
63 | - `fails` int(11) NOT NULL default '0', | |
64 | - `lastfail` bigint NOT NULL default '0', | |
65 | - KEY `login` (`login`)) TYPE=MyISAM"); | |
66 | - | |
67 | - } | |
68 | - | |
69 | - function unInstall() { | |
70 | - // if requested, delete the data table | |
71 | - if ($this->getOption('del_uninstall_data') == 'yes') { | |
72 | - sql_query('DROP TABLE '.sql_table('plug_securityenforcer')); | |
73 | - } | |
74 | - } | |
75 | - | |
76 | - function init() { | |
77 | - // include language file for this plugin | |
78 | -// $language = ereg_replace( '[\\|/]', '', getLanguageName()); | |
79 | - $language = preg_replace( '@\\|/@', '', getLanguageName()); | |
80 | - if (file_exists($this->getDirectory().$language.'.php')) | |
81 | - include_once($this->getDirectory().$language.'.php'); | |
82 | - else | |
83 | - include_once($this->getDirectory().'english.php'); | |
84 | - | |
85 | - $this->enable_security = $this->getOption('enable_security'); | |
86 | - $this->pwd_min_length = intval($this->getOption('pwd_min_length')); | |
87 | - $this->pwd_complexity = intval($this->getOption('pwd_complexity')); | |
88 | - $this->max_failed_login = intval($this->getOption('max_failed_login')); | |
89 | - $this->login_lockout = intval($this->getOption('login_lockout')); | |
90 | - } | |
91 | - function hasAdminArea() { return 1; } | |
92 | - | |
93 | - function event_QuickMenu($data) { | |
94 | - // only show when option enabled | |
95 | - global $member; | |
96 | - if ($this->getOption('quickmenu') != 'yes' || !$member->isAdmin()) return; | |
97 | - global $member; | |
98 | - if (!($member->isLoggedIn())) return; | |
99 | - array_push($data['options'], | |
100 | - array('title' => 'Security Enforcer', | |
101 | - 'url' => $this->getAdminURL(), | |
102 | - 'tooltip' => _SECURITYENFORCER_ADMIN_TOOLTIP)); | |
103 | - } | |
104 | - | |
105 | - function event_PrePasswordSet($data) { | |
106 | - //password, errormessage, valid | |
107 | - if ($this->enable_security == 'yes') { | |
108 | - if (!$this->_validate_passwd($data['password'],$this->pwd_min_length, $this->pwd_complexity)) { | |
109 | - $data['errormessage'] = _SECURITYENFORCER_INSUFFICIENT_COMPLEXITY; | |
110 | - $data['errormessage'] .= _SECURITYENFORCER_MIN_PWD_LENGTH . $this->pwd_min_length; | |
111 | - $data['errormessage'] .= _SECURITYENFORCER_PWD_COMPLEXITY . $this->pwd_complexity . "<br /><br />\n"; | |
112 | - $data['valid'] = false; | |
113 | - } | |
114 | - } | |
115 | - } | |
116 | - | |
117 | - function event_CustomLogin($data) { | |
118 | - //login,password,success,allowlocal | |
119 | - if ($this->enable_security == 'yes' && $this->max_failed_login > 0) { | |
120 | - global $_SERVER; | |
121 | - $login = $data['login']; | |
122 | - $ip = $_SERVER['REMOTE_ADDR']; | |
123 | - sql_query("DELETE FROM ".sql_table('plug_securityenforcer')." WHERE lastfail < ".(time() - ($this->login_lockout * 60))); | |
124 | - $query = "SELECT fails as result FROM ".sql_table('plug_securityenforcer')." "; | |
125 | -// $query .= "WHERE login='".addslashes($login)."'"; | |
126 | - $query .= "WHERE login='".sql_real_escape_string($login)."'"; | |
127 | - $flogin = quickQuery($query); | |
128 | - $query = "SELECT fails as result FROM ".sql_table('plug_securityenforcer')." "; | |
129 | -// $query .= "WHERE login='".addslashes($ip)."'"; | |
130 | - $query .= "WHERE login='".sql_real_escape_string($ip)."'"; | |
131 | - $fip = quickQuery($query); | |
132 | - if ($flogin >= $this->max_failed_login || $fip >= $this->max_failed_login) { | |
133 | - $data['success'] = 0; | |
134 | - $data['allowlocal'] = 0; | |
135 | -// ACTIONLOG::add(INFO, 'login disallowed by NP_SecurityEnforcer. login: '.htmlentities($login).', ip: '.htmlentities($ip) ); | |
136 | - $info = sprintf(_SECURITYENFORCER_LOGIN_DISALLOWED, htmlspecialchars($login), htmlspecialchars($ip)); | |
137 | - ACTIONLOG::add(INFO, $info); | |
138 | - } | |
139 | - } | |
140 | - } | |
141 | - | |
142 | - function event_LoginSuccess($data) { | |
143 | - //member(obj),username | |
144 | - if ($this->enable_security == 'yes' && $this->max_failed_login > 0) { | |
145 | - global $_SERVER; | |
146 | - $login = $data['username']; | |
147 | - $ip = $_SERVER['REMOTE_ADDR']; | |
148 | -// sql_query("DELETE FROM ".sql_table('plug_securityenforcer')." WHERE login='".addslashes($login)."'"); | |
149 | - sql_query("DELETE FROM ".sql_table('plug_securityenforcer')." WHERE login='".sql_real_escape_string($login)."'"); | |
150 | -// sql_query("DELETE FROM ".sql_table('plug_securityenforcer')." WHERE login='".addslashes($ip)."'"); | |
151 | - sql_query("DELETE FROM ".sql_table('plug_securityenforcer')." WHERE login='".sql_real_escape_string($ip)."'"); | |
152 | - } | |
153 | - } | |
154 | - | |
155 | - function event_LoginFailed($data) { | |
156 | - //username | |
157 | - if ($this->enable_security == 'yes' && $this->max_failed_login > 0) { | |
158 | - global $_SERVER; | |
159 | - $login = $data['username']; | |
160 | - $ip = $_SERVER['REMOTE_ADDR']; | |
161 | - //sql_table('plug_securityenforcer') | |
162 | -// $lres = sql_query("SELECT * FROM ".sql_table('plug_securityenforcer')." WHERE login='".addslashes($login)."'"); | |
163 | - $lres = sql_query("SELECT * FROM ".sql_table('plug_securityenforcer')." WHERE login='".sql_real_escape_string($login)."'"); | |
164 | - if (sql_num_rows($lres)) { | |
165 | -// sql_query("UPDATE ".sql_table('plug_securityenforcer')." SET fails=fails+1, lastfail=".time()." WHERE login='".addslashes($login)."'"); | |
166 | - sql_query("UPDATE ".sql_table('plug_securityenforcer')." SET fails=fails+1, lastfail=".time()." WHERE login='".sql_real_escape_string($login)."'"); | |
167 | - } | |
168 | - else { | |
169 | -// sql_query("INSERT INTO ".sql_table('plug_securityenforcer')." (login,fails,lastfail) VALUES ('".addslashes($login)."',1,".time().")"); | |
170 | - sql_query("INSERT INTO ".sql_table('plug_securityenforcer')." (login,fails,lastfail) VALUES ('".sql_real_escape_string($login)."',1,".time().")"); | |
171 | - } | |
172 | - $lres = sql_query("SELECT * FROM ".sql_table('plug_securityenforcer')." WHERE login='".addslashes($ip)."'"); | |
173 | - if (sql_num_rows($lres)) { | |
174 | -// sql_query("UPDATE ".sql_table('plug_securityenforcer')." SET fails=fails+1, lastfail=".time()." WHERE login='".addslashes($ip)."'"); | |
175 | - sql_query("UPDATE ".sql_table('plug_securityenforcer')." SET fails=fails+1, lastfail=".time()." WHERE login='".sql_real_escape_string($ip)."'"); | |
176 | - } | |
177 | - else { | |
178 | -// sql_query("INSERT INTO ".sql_table('plug_securityenforcer')." (login,fails,lastfail) VALUES ('".addslashes($ip)."',1,".time().")"); | |
179 | - sql_query("INSERT INTO ".sql_table('plug_securityenforcer')." (login,fails,lastfail) VALUES ('".sql_real_escape_string($ip)."',1,".time().")"); | |
180 | - } | |
181 | - } | |
182 | - } | |
183 | - | |
184 | - /* Helper Functions */ | |
185 | - | |
186 | - function _validate_passwd($passwd,$minlength = 6,$complexity = 0) { | |
187 | - $minlength = intval($minlength); | |
188 | - $complexity = intval($complexity); | |
189 | - | |
190 | - if ($minlength < 6 ) $minlength = 6; | |
191 | - if (strlen($passwd) < $minlength) return false; | |
192 | - | |
193 | - if ($complexity > 4) $complexity = 4; | |
194 | - $ucchars = "[A-Z]"; | |
195 | - $lcchars = "[a-z]"; | |
196 | - $numchars = "[0-9]"; | |
197 | - $ochars = "[-~!@#$%^&*()_+=,.<>?:;|]"; | |
198 | - $chartypes = array($ucchars, $lcchars, $numchars, $ochars); | |
199 | - $tot = array(0,0,0,0); | |
200 | - $i = 0; | |
201 | - foreach ($chartypes as $value) { | |
202 | - $tot[$i] = preg_match("/".$value."/", $passwd); | |
203 | - $i = $i + 1; | |
204 | - } | |
205 | - | |
206 | - if (array_sum($tot) >= $complexity) return true; | |
207 | - else return false; | |
208 | - } | |
209 | -} | |
210 | -?> | |
\ No newline at end of file |
@@ -1,132 +0,0 @@ | ||
1 | -<?php | |
2 | - | |
3 | -class NP_Text extends NucleusPlugin { | |
4 | - | |
5 | - var $incModePref = array(); | |
6 | - var $errorLogged = false; | |
7 | - var $constantPrefix = "SL_"; | |
8 | - | |
9 | - function getEventList() { return array('PreSkinParse'); } | |
10 | - function getName() { return 'Text'; } | |
11 | - function getAuthor() { return 'Armon Toubman'; } | |
12 | - function getURL() { return 'http://forum.nucleuscms.org/viewtopic.php?t=14904'; } | |
13 | - function getVersion() { return '0.53'; } | |
14 | - function getDescription() { | |
15 | - return 'Display constants from language files: <%Text(CONSTANT)%>'; | |
16 | - } | |
17 | - function supportsFeature($feature) { | |
18 | - switch($feature) { | |
19 | - case 'SqlTablePrefix': return 1; | |
20 | - default: return 0; | |
21 | - } | |
22 | - } | |
23 | - function install() {} | |
24 | - function uninstall() {} | |
25 | - function init() { | |
26 | - $this->incModePref = $this->skin_incmodepref(); | |
27 | - } | |
28 | - | |
29 | - function event_PreSkinParse() { | |
30 | - global $member; | |
31 | - if( !$member->isLoggedIn() and isset($_GET['lang']) ) { | |
32 | - setcookie('NP_Text', getVar('lang'), time()+60*60*24*90); // 3 months | |
33 | - } | |
34 | - } | |
35 | - | |
36 | - function doSkinVar($skinType, $constant) { | |
37 | - global $member, $CONF; | |
38 | - | |
39 | - $language = getLanguageName(); | |
40 | - $getLanguage = isset($_GET['lang']) ? getVar('lang') : false; | |
41 | - $cookieLanguage = isset($_COOKIE['NP_Text']) ? cookieVar('NP_Text') : false; | |
42 | - | |
43 | -// if( !$member->isLoggedIn() ) { | |
44 | - if( $getLanguage ) { | |
45 | - $this->use_lang($getLanguage, $constant); | |
46 | - } | |
47 | - elseif( $cookieLanguage ) { | |
48 | - $this->use_lang($cookieLanguage, $constant); | |
49 | - } | |
50 | - else { | |
51 | - $this->use_lang($language, $constant); | |
52 | - } | |
53 | -// } | |
54 | -// else { | |
55 | -// $this->use_lang($language, $constant); | |
56 | -// } | |
57 | - | |
58 | - } | |
59 | - | |
60 | - function doTemplateVar(&$item, $constant) { | |
61 | - global $member, $CONF; | |
62 | - | |
63 | - $language = getLanguageName(); | |
64 | - $getLanguage = isset($_GET['lang']) ? getVar('lang') : false; | |
65 | - $cookieLanguage = isset($_COOKIE['NP_Text']) ? cookieVar('NP_Text') : false; | |
66 | - | |
67 | -// if( !$member->isLoggedIn() ) { | |
68 | - if( $getLanguage ) { | |
69 | - $this->use_lang($getLanguage, $constant); | |
70 | - } | |
71 | - elseif( $cookieLanguage ) { | |
72 | - $this->use_lang($cookieLanguage, $constant); | |
73 | - } | |
74 | - else { | |
75 | - $this->use_lang($language, $constant); | |
76 | - } | |
77 | -// } | |
78 | -// else { | |
79 | -// $this->use_lang($language, $constant); | |
80 | -// } | |
81 | - | |
82 | - } | |
83 | - | |
84 | - function use_lang($language, $constant) { | |
85 | - global $DIR_SKINS; | |
86 | - | |
87 | - $filename = ''; | |
88 | - | |
89 | - if( $this->incModePref[0] == "normal" ) { | |
90 | - $filename = $filename.$this->incModePref[1]; | |
91 | - $filename = $filename."language/"; | |
92 | - $filename = $filename.$language; | |
93 | - $filename = $filename.".php"; | |
94 | - } | |
95 | - elseif( $this->incModePref[0] == "skindir" ) { | |
96 | - $filename = $filename.$DIR_SKINS; | |
97 | - $filename = $filename.$this->incModePref[1]; | |
98 | - $filename = $filename."language/"; | |
99 | - $filename = $filename.$language; | |
100 | - $filename = $filename.".php"; | |
101 | - } | |
102 | - | |
103 | - if( is_file($filename) ) { | |
104 | - include($filename); | |
105 | - } | |
106 | - else { | |
107 | - addToLog(1, "NP_Text cannot find ".$filename); | |
108 | - } | |
109 | - | |
110 | - if( defined($this->constantPrefix.$constant) ) { | |
111 | - echo constant($this->constantPrefix.$constant); | |
112 | - } | |
113 | - else { | |
114 | - echo $this->constantPrefix.$constant; | |
115 | - if( is_file($filename) ) { | |
116 | - addToLog(1, "NP_Text cannot find definition for ".$this->constantPrefix.$constant." in ".$filename); | |
117 | - } | |
118 | - } | |
119 | - | |
120 | - } | |
121 | - | |
122 | - function skin_incmodepref() { | |
123 | - global $currentSkinName; | |
124 | - $sql = "SELECT * FROM ".sql_table("skin_desc")." WHERE sdname = '".$currentSkinName."'"; | |
125 | - $result = sql_query($sql); | |
126 | - $row = sql_fetch_array($result, MYSQL_ASSOC); | |
127 | - return array($row['sdincmode'], $row['sdincpref']); | |
128 | - } | |
129 | - | |
130 | -} | |
131 | - | |
132 | -?> | |
\ No newline at end of file |
@@ -1,35 +0,0 @@ | ||
1 | -<?php | |
2 | -/** English language file for NP_SECURITYENFORCER Plugin | |
3 | -*/ | |
4 | - | |
5 | -// Plugin Options | |
6 | -define('_SECURITYENFORCER_OPT_QUICKMENU', 'Show Admin Area in quick menu?'); | |
7 | -define('_SECURITYENFORCER_OPT_DEL_UNINSTALL_DATA', 'Delete NP_SecurityEnforcer data table on uninstall?'); | |
8 | -define('_SECURITYENFORCER_OPT_ENABLE', 'Enable NP_SecurityEnforcer password and login checks?'); | |
9 | -define('_SECURITYENFORCER_OPT_PWD_MIN_LENGTH', 'Minimum Length in characters of a user password. Integer. 8 is the default and 6 the minimum value: '); | |
10 | -define('_SECURITYENFORCER_OPT_PWD_COMPLEXITY', 'Password Complexity Check. (How many character types should be present out of a-z, A-Z, 0-9, punctuation marks?):'); | |
11 | -define('_SECURITYENFORCER_OPT_SELECT_OFF_COMP', 'Off'); | |
12 | -define('_SECURITYENFORCER_OPT_SELECT_ONE_COMP', 'One character type'); | |
13 | -define('_SECURITYENFORCER_OPT_SELECT_TWO_COMP', 'Two character types'); | |
14 | -define('_SECURITYENFORCER_OPT_SELECT_THREE_COMP', 'Three character types'); | |
15 | -define('_SECURITYENFORCER_OPT_SELECT_FOUR_COMP', 'Four character types'); | |
16 | -define('_SECURITYENFORCER_OPT_MAX_FAILED_LOGIN', 'How many failed login attempts before locking the user account?'); | |
17 | -define('_SECURITYENFORCER_OPT_LOGIN_LOCKOUT', 'After how many minutes should a locked account be released?'); | |
18 | - | |
19 | - | |
20 | -//QuickMenu | |
21 | -define('_SECURITYENFORCER_ADMIN_TOOLTIP', 'Manage NP_SecurityEnforcer Plugin'); | |
22 | -define('_SECURITYENFORCER_ADMIN_UNLOCKED', ' has been unlocked. Remember to unlock the corresponding IP or Login Name.'); | |
23 | -define('_SECURITYENFORCER_ADMIN_NONE_LOCKED', 'No Records Found.'); | |
24 | - | |
25 | -// ERRORS | |
26 | -define('_SECURITYENFORCER_INSUFFICIENT_COMPLEXITY', 'This password does not meet site requirements for length or complexity. <br />'); | |
27 | -define('_SECURITYENFORCER_MIN_PWD_LENGTH', '<br />Minimum password length: '); | |
28 | -define('_SECURITYENFORCER_PWD_COMPLEXITY', '<br />Minimum number of character types ([a-z], [A-Z], [0-9], [-~!@#$%^&*()_+=,.<>?:;|]): '); | |
29 | - | |
30 | -//random words | |
31 | -define('_SECURITYENFORCER_UNLOCK', 'Unlock'); | |
32 | -define('_SECURITYENFORCER_ENTITY', 'Entity'); | |
33 | -define('_SECURITYENFORCER_LOCKED_ENTITIES', 'Currently Locked Entities'); | |
34 | - | |
35 | -?> | |
\ No newline at end of file |
@@ -1,84 +0,0 @@ | ||
1 | -<?php | |
2 | - | |
3 | -/* | |
4 | - | |
5 | -Admin area for NP_SecurityEnforcer | |
6 | - | |
7 | -*/ | |
8 | - | |
9 | - // if your 'plugin' directory is not in the default location, | |
10 | - // edit this variable to point to your site directory | |
11 | - // (where config.php is) | |
12 | - $strRel = '../../../'; | |
13 | - | |
14 | - include($strRel . 'config.php'); | |
15 | - if (!$member->isAdmin()) | |
16 | - doError('Insufficient Permissions.'); | |
17 | - | |
18 | - | |
19 | - include($DIR_LIBS . 'PLUGINADMIN.php'); | |
20 | - // some functions | |
21 | - | |
22 | - function SE_unlockLogin($login) { | |
23 | - sql_query("DELETE FROM ".sql_table('plug_securityenforcer')." WHERE login='".addslashes($login)."'"); | |
24 | - } | |
25 | - | |
26 | - | |
27 | - // checks | |
28 | - | |
29 | - | |
30 | - | |
31 | - // create the admin area page | |
32 | - $oPluginAdmin = new PluginAdmin('SecurityEnforcer'); | |
33 | - // add styles to the <HEAD> | |
34 | - $oPluginAdmin->start(''); | |
35 | - | |
36 | - // if form to unlock is posted | |
37 | - if(postVar('action') == 'unlock') { | |
38 | - if (!$manager->checkTicket()) | |
39 | - doError('Invalid Ticket'); | |
40 | - $logins = postVar('unlock'); | |
41 | - $message = ''; | |
42 | - if(is_array($logins)) { | |
43 | - foreach ($logins as $entity) { | |
44 | - SE_unlockLogin($entity); | |
45 | - $message .= '<br />' . $entity . _SECURITYENFORCER_ADMIN_UNLOCKED; | |
46 | - } | |
47 | - } | |
48 | - } | |
49 | - $plug =& $oPluginAdmin->plugin; | |
50 | - | |
51 | - // page title | |
52 | - echo '<h2>Security Enforcer Administration</h2>'; | |
53 | - | |
54 | - // error output | |
55 | - if($message) { echo "<p><strong>"; echo $message; echo "</strong></p>"; } | |
56 | - | |
57 | - // generate table from all entries in the database | |
58 | - echo '<h3>'._SECURITYENFORCER_LOCKED_ENTITIES.'</h3>'; | |
59 | - echo '<form action="' . $oPluginAdmin->plugin->getAdminURL() . '" method="POST">'; | |
60 | - echo '<input type="hidden" name="action" value="unlock" />'; | |
61 | - $manager->addTicketHidden(); | |
62 | - echo '<table>'; | |
63 | - echo '<tr><th>'._SECURITYENFORCER_ENTITY.'</th><th>Unlock?</th></tr>'; | |
64 | - echo '<tr><td colspan="2" class="submit"><input type="submit" value="'._SECURITYENFORCER_UNLOCK.'" /></td></tr>'; | |
65 | - // do query to get all entries, loop | |
66 | - $result = sql_query("SELECT * FROM ".sql_table("plug_securityenforcer")." WHERE fails >= ".$plug->max_failed_login); | |
67 | - if(sql_num_rows($result)) { | |
68 | - while($row = sql_fetch_assoc($result)) { | |
69 | - echo '<tr>'; | |
70 | - echo '<td>'.htmlspecialchars($row['login']).'</td>'; | |
71 | - echo '<td><input type="checkbox" name="unlock[]" value="'.htmlspecialchars($row['login']).'" />'._SECURITYENFORCER_UNLOCK.'</td>'; | |
72 | - echo '</tr>'; | |
73 | - } | |
74 | - } | |
75 | - else { | |
76 | - echo '<tr><td colspan="2"><strong>'._SECURITYENFORCER_ADMIN_NONE_LOCKED.'</strong></td></tr>'; | |
77 | - } | |
78 | - echo '<tr><td colspan="2" class="submit"><input type="submit" value="'._SECURITYENFORCER_UNLOCK.'" /></td></tr>'; | |
79 | - echo '</table>'; | |
80 | - echo '</form>'; | |
81 | - | |
82 | - $oPluginAdmin->end(); | |
83 | - | |
84 | -?> | |
\ No newline at end of file |
@@ -1,41 +0,0 @@ | ||
1 | -<?php | |
2 | -/** English language file for NP_SECURITYENFORCER Plugin | |
3 | -*/ | |
4 | - | |
5 | -// Plugin Options | |
6 | -define('_SECURITYENFORCER_OPT_QUICKMENU', 'クイックメニューに表示しますか?'); | |
7 | -define('_SECURITYENFORCER_OPT_DEL_UNINSTALL_DATA', 'アンインストール時にデータベースのテーブルを削除しますか?'); | |
8 | -define('_SECURITYENFORCER_OPT_ENABLE', 'パスワードのチェックとログインチェックのときにSecurityEnforcerを有効にしますか?'); | |
9 | -define('_SECURITYENFORCER_OPT_PWD_MIN_LENGTH', 'パスワードの最小文字数(デフォルトは8文字。6文字未満には指定できません:'); | |
10 | -define('_SECURITYENFORCER_OPT_PWD_COMPLEXITY', 'パスワード強度のチェック(a-z, A-Z, 0-9, 句読点以外に何種類の文字タイプが存在するべきですか?):'); | |
11 | -define('_SECURITYENFORCER_OPT_SELECT_OFF_COMP', 'Off'); | |
12 | -define('_SECURITYENFORCER_OPT_SELECT_ONE_COMP', '一つ目の文字タイプ'); | |
13 | -define('_SECURITYENFORCER_OPT_SELECT_TWO_COMP', '二つ目の文字タイプ'); | |
14 | -define('_SECURITYENFORCER_OPT_SELECT_THREE_COMP', '三つ目の文字タイプ'); | |
15 | -define('_SECURITYENFORCER_OPT_SELECT_FOUR_COMP', '四つ目の文字タイプ'); | |
16 | -define('_SECURITYENFORCER_OPT_MAX_FAILED_LOGIN', '何度目のログイン失敗でアカウントをロックしますか?'); | |
17 | -define('_SECURITYENFORCER_OPT_LOGIN_LOCKOUT', 'アカウントをロックしてから何分でロック解除しますか?'); | |
18 | - | |
19 | - | |
20 | -// QuickMenu | |
21 | -define('_SECURITYENFORCER_ADMIN_TOOLTIP', 'SecurityEnforcerプラグインの管理'); | |
22 | -define('_SECURITYENFORCER_ADMIN_UNLOCKED', 'ロック解除されました。対応するIPアドレス、またはログイン名のロックを解除するのを忘れないでください。'); | |
23 | -define('_SECURITYENFORCER_ADMIN_NONE_LOCKED', '該当なし'); | |
24 | - | |
25 | -// ERRORS | |
26 | -define('_SECURITYENFORCER_INSUFFICIENT_COMPLEXITY', '入力されたパスワードは、このサイトで要求される文字数、または強度を満たしていません。<br />'); | |
27 | -define('_SECURITYENFORCER_MIN_PWD_LENGTH', '<br />パスワードが短すぎます:'); | |
28 | -define('_SECURITYENFORCER_PWD_COMPLEXITY', '<br />文字タイプが少なすぎます([a-z], [A-Z], [0-9], [-~!@#$%^&*()_+=,.<>?:;|]): '); | |
29 | - | |
30 | -// random words | |
31 | -define('_SECURITYENFORCER_UNLOCK', 'アンロック'); | |
32 | -define('_SECURITYENFORCER_ENTITY', 'エンティティ'); | |
33 | -define('_SECURITYENFORCER_LOCKED_ENTITIES', '現在ロック中のエンティティ'); | |
34 | - | |
35 | -// Plugin desc | |
36 | -define('_SECURITYENFORCER_DESCRIPTION', 'パスワードの最小文字数や強度の制限、ログイン失敗可能回数などを設定します'); | |
37 | - | |
38 | -// Log info | |
39 | -define('_SECURITYENFORCER_LOGIN_DISALLOWED', 'リモートホスト「%2$s」からのログイン名「%1$s」のログインはSecurityEnforcerプラグインによって拒絶されました'); | |
40 | - | |
41 | -?> | |
\ No newline at end of file |
@@ -1,41 +0,0 @@ | ||
1 | -<?php | |
2 | -/** English language file for NP_SECURITYENFORCER Plugin | |
3 | -*/ | |
4 | - | |
5 | -// Plugin Options | |
6 | -define('_SECURITYENFORCER_OPT_QUICKMENU', 'クイックメニューに表示しますか?'); | |
7 | -define('_SECURITYENFORCER_OPT_DEL_UNINSTALL_DATA', 'アンインストール時にデータベースのテーブルを削除しますか?'); | |
8 | -define('_SECURITYENFORCER_OPT_ENABLE', 'パスワードのチェックとログインチェックのときにSecurityEnforcerを有効にしますか?'); | |
9 | -define('_SECURITYENFORCER_OPT_PWD_MIN_LENGTH', 'パスワードの最小文字数(デフォルトは8文字。6文字未満には指定できません:'); | |
10 | -define('_SECURITYENFORCER_OPT_PWD_COMPLEXITY', 'パスワード強度のチェック(a-z, A-Z, 0-9, 句読点以外に何種類の文字タイプが存在するべきですか?):'); | |
11 | -define('_SECURITYENFORCER_OPT_SELECT_OFF_COMP', 'Off'); | |
12 | -define('_SECURITYENFORCER_OPT_SELECT_ONE_COMP', '一つ目の文字タイプ'); | |
13 | -define('_SECURITYENFORCER_OPT_SELECT_TWO_COMP', '二つ目の文字タイプ'); | |
14 | -define('_SECURITYENFORCER_OPT_SELECT_THREE_COMP', '三つ目の文字タイプ'); | |
15 | -define('_SECURITYENFORCER_OPT_SELECT_FOUR_COMP', '四つ目の文字タイプ'); | |
16 | -define('_SECURITYENFORCER_OPT_MAX_FAILED_LOGIN', '何度目のログイン失敗でアカウントをロックしますか?'); | |
17 | -define('_SECURITYENFORCER_OPT_LOGIN_LOCKOUT', 'アカウントをロックしてから何分でロック解除しますか?'); | |
18 | - | |
19 | - | |
20 | -// QuickMenu | |
21 | -define('_SECURITYENFORCER_ADMIN_TOOLTIP', 'SecurityEnforcerプラグインの管理'); | |
22 | -define('_SECURITYENFORCER_ADMIN_UNLOCKED', 'ロック解除されました。対応するIPアドレス、またはログイン名のロックを解除するのを忘れないでください。'); | |
23 | -define('_SECURITYENFORCER_ADMIN_NONE_LOCKED', '該当なし'); | |
24 | - | |
25 | -// ERRORS | |
26 | -define('_SECURITYENFORCER_INSUFFICIENT_COMPLEXITY', '入力されたパスワードは、このサイトで要求される文字数、または強度を満たしていません。<br />'); | |
27 | -define('_SECURITYENFORCER_MIN_PWD_LENGTH', '<br />パスワードが短すぎます:'); | |
28 | -define('_SECURITYENFORCER_PWD_COMPLEXITY', '<br />文字タイプが少なすぎます([a-z], [A-Z], [0-9], [-~!@#$%^&*()_+=,.<>?:;|]): '); | |
29 | - | |
30 | -// random words | |
31 | -define('_SECURITYENFORCER_UNLOCK', 'アンロック'); | |
32 | -define('_SECURITYENFORCER_ENTITY', 'エンティティ'); | |
33 | -define('_SECURITYENFORCER_LOCKED_ENTITIES', '現在ロック中のエンティティ'); | |
34 | - | |
35 | -// Plugin desc | |
36 | -define('_SECURITYENFORCER_DESCRIPTION', 'パスワードの最小文字数や強度の制限、ログイン失敗可能回数などを設定します'); | |
37 | - | |
38 | -// Log info | |
39 | -define('_SECURITYENFORCER_LOGIN_DISALLOWED', 'リモートホスト「%2$s」からのログイン名「%1$s」のログインはSecurityEnforcerプラグインによって拒絶されました'); | |
40 | - | |
41 | -?> | |
\ No newline at end of file |