Completed
Push — spip-3.0 ( b24c06...fca166 )
by cam
06:50
created
config/ecran_securite.php 1 patch
Spacing   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -23,14 +23,14 @@  discard block
 block discarded – undo
23 23
  * var_isbot=1 peut etre utilise pour monitorer la disponibilite pour les bots (sujets a 503 de delestage si
24 24
  * le load depasse ECRAN_SECURITE_LOAD)
25 25
  */
26
-if (!defined('_IS_BOT') and isset($_GET['var_isbot'])){
26
+if (!defined('_IS_BOT') and isset($_GET['var_isbot'])) {
27 27
 	define('_IS_BOT', $_GET['var_isbot'] ? true : false);
28 28
 }
29 29
 
30 30
 /*
31 31
  * Détecteur de robot d'indexation
32 32
  */
33
-if (!defined('_IS_BOT')){
33
+if (!defined('_IS_BOT')) {
34 34
 	define('_IS_BOT',
35 35
 		isset($_SERVER['HTTP_USER_AGENT'])
36 36
 		and preg_match(
@@ -40,16 +40,16 @@  discard block
 block discarded – undo
40 40
 			. 'MSIE 6\.0|'
41 41
 			// UA plus cibles
42 42
 			. '200please|80legs|a6-indexer|aboundex|accoona|addthis|adressendeutschland|alexa|altavista|analyticsseo|archive|aspseek|baidu|begunadvertising|bingpreview|bloglines|browsershots|bubing|butterfly|changedetection|charlotte|chilkat|china|coccoc|crowsnest|dataminr|daumoa|dlweb|ec2linkfinder|estyle|ezooms|facebookexternalhit|facebookplatform|fairshare|feedfetcher|feedfetcher-google|feedly|fetch|flipboardproxy|genieo|google|grapeshot|hatena-useragent|head|hosttracker|hubspot|ia_archiver|ichiro|iltrovatore-setaccio|immediatenet|ina|infegyatlas|infohelfer|instapaper|jabse|james|kumkie|linkdex|linkfluence|linkwalker|litefinder|loadimpactpageanalyzer|luminate|lycos|lycosa|mediapartners-google|msai|najdi|netcraftsurveyagent|netestate|netseer|nuhk|panscient|parsijoo|plukkie|proximic|qirina|qualidator|rambler|readability|sbsearch|scooter|scrapy|scrubby|scrubbybloglines|shareaholic|shopwiki|sistrix|sitechecker|siteexplorer|sogou|special_archiver|speedy|spinn3r|spreadtrum|steeler|subscriber|suma|superdownloads|svenska-webbsido|teoma|thumbshots|tineye|trendiction|tweetedtimes|tweetmeme|uaslinkchecker|undrip|unwindfetchor|vedma|vkshare|vm|wch|webalta|webcookies|webthumbnail|wesee|wise-guys|woko|wotbox|y!j-bri|y!j-bro|y!j-brw|y!j-bsc|yahoo|yahoo!|yahooysmcm|yats|yeti|zeerch|owlin'
43
-			. ',i', (string)$_SERVER['HTTP_USER_AGENT'])
43
+			. ',i', (string) $_SERVER['HTTP_USER_AGENT'])
44 44
 	);
45 45
 }
46
-if (!defined('_IS_BOT_FRIEND')){
46
+if (!defined('_IS_BOT_FRIEND')) {
47 47
 	define('_IS_BOT_FRIEND',
48 48
 		isset($_SERVER['HTTP_USER_AGENT'])
49 49
 		and preg_match(','
50 50
 			// UA plus cibles
51 51
 			. 'facebookexternalhit'
52
-			. ',i', (string)$_SERVER['HTTP_USER_AGENT'])
52
+			. ',i', (string) $_SERVER['HTTP_USER_AGENT'])
53 53
 	);
54 54
 }
55 55
 
@@ -63,15 +63,15 @@  discard block
 block discarded – undo
63 63
 foreach ($_GET as $var => $val)
64 64
 	if ($_GET[$var] and strncmp($var, "id_", 3) == 0
65 65
 	and !in_array($var, array('id_table', 'id_base')))
66
-		$_GET[$var] = is_array($_GET[$var])?@array_map('intval', $_GET[$var]):intval($_GET[$var]);
66
+		$_GET[$var] = is_array($_GET[$var]) ? @array_map('intval', $_GET[$var]) : intval($_GET[$var]);
67 67
 foreach ($_POST as $var => $val)
68 68
 	if ($_POST[$var] and strncmp($var, "id_", 3) == 0
69 69
 	and !in_array($var, array('id_table', 'id_base')))
70
-		$_POST[$var] = is_array($_POST[$var])?@array_map('intval', $_POST[$var]):intval($_POST[$var]);
70
+		$_POST[$var] = is_array($_POST[$var]) ? @array_map('intval', $_POST[$var]) : intval($_POST[$var]);
71 71
 foreach ($GLOBALS as $var => $val)
72 72
 	if ($GLOBALS[$var] and strncmp($var, "id_", 3) == 0
73 73
 	and !in_array($var, array('id_table', 'id_base')))
74
-		$GLOBALS[$var] = is_array($GLOBALS[$var])?@array_map('intval', $GLOBALS[$var]):intval($GLOBALS[$var]);
74
+		$GLOBALS[$var] = is_array($GLOBALS[$var]) ? @array_map('intval', $GLOBALS[$var]) : intval($GLOBALS[$var]);
75 75
 
76 76
 /*
77 77
  * Interdit la variable $cjpeg_command, qui était utilisée sans
@@ -82,18 +82,18 @@  discard block
 block discarded – undo
82 82
 /*
83 83
  * Contrôle de quelques variables (XSS)
84 84
  */
85
-foreach(array('lang', 'var_recherche', 'aide', 'var_lang_r', 'lang_r', 'var_ajax_ancre', 'nom_fichier') as $var) {
85
+foreach (array('lang', 'var_recherche', 'aide', 'var_lang_r', 'lang_r', 'var_ajax_ancre', 'nom_fichier') as $var) {
86 86
 	if (isset($_GET[$var]))
87
-		$_REQUEST[$var] = $GLOBALS[$var] = $_GET[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_GET[$var]);
87
+		$_REQUEST[$var] = $GLOBALS[$var] = $_GET[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string) $_GET[$var]);
88 88
 	if (isset($_POST[$var]))
89
-		$_REQUEST[$var] = $GLOBALS[$var] = $_POST[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_POST[$var]);
89
+		$_REQUEST[$var] = $GLOBALS[$var] = $_POST[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string) $_POST[$var]);
90 90
 }
91 91
 
92 92
 /*
93 93
  * Filtre l'accès à spip_acces_doc (injection SQL en 1.8.2x)
94 94
  */
95
-if (preg_match(',^(.*/)?spip_acces_doc\.,', (string)$_SERVER['REQUEST_URI'])) {
96
-	$file = addslashes((string)$_GET['file']);
95
+if (preg_match(',^(.*/)?spip_acces_doc\.,', (string) $_SERVER['REQUEST_URI'])) {
96
+	$file = addslashes((string) $_GET['file']);
97 97
 }
98 98
 
99 99
 /*
@@ -108,28 +108,28 @@  discard block
 block discarded – undo
108 108
  * Agenda joue à l'injection php
109 109
  */
110 110
 if (isset($_REQUEST['partie_cal'])
111
-and $_REQUEST['partie_cal'] !== htmlentities((string)$_REQUEST['partie_cal']))
111
+and $_REQUEST['partie_cal'] !== htmlentities((string) $_REQUEST['partie_cal']))
112 112
 	$ecran_securite_raison = "partie_cal";
113 113
 if (isset($_REQUEST['echelle'])
114
-and $_REQUEST['echelle'] !== htmlentities((string)$_REQUEST['echelle']))
114
+and $_REQUEST['echelle'] !== htmlentities((string) $_REQUEST['echelle']))
115 115
 	$ecran_securite_raison = "echelle";
116 116
 
117 117
 /*
118 118
  * Espace privé
119 119
  */
120 120
 if (isset($_REQUEST['exec'])
121
-and !preg_match(',^[\w-]+$,', (string)$_REQUEST['exec']))
121
+and !preg_match(',^[\w-]+$,', (string) $_REQUEST['exec']))
122 122
 	$ecran_securite_raison = "exec";
123 123
 if (isset($_REQUEST['cherche_auteur'])
124
-and preg_match(',[<],', (string)$_REQUEST['cherche_auteur']))
124
+and preg_match(',[<],', (string) $_REQUEST['cherche_auteur']))
125 125
 	$ecran_securite_raison = "cherche_auteur";
126 126
 if (isset($_REQUEST['exec'])
127 127
 and $_REQUEST['exec'] == 'auteurs'
128
-and preg_match(',[<],', (string)$_REQUEST['recherche']))
128
+and preg_match(',[<],', (string) $_REQUEST['recherche']))
129 129
 	$ecran_securite_raison = "recherche";
130 130
 if (isset($_REQUEST['exec'])
131 131
 and $_REQUEST['exec'] == 'info_plugin'
132
-and preg_match(',[<],', (string)$_REQUEST['plugin']))
132
+and preg_match(',[<],', (string) $_REQUEST['plugin']))
133 133
 	$ecran_securite_raison = "plugin";
134 134
 if (isset($_REQUEST['exec'])
135 135
 and $_REQUEST['exec'] == 'puce_statut'
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
 	or @file_exists('ecrire/inc_version.php')) {
143 143
 		function action_configurer() {
144 144
 			include_spip('inc/autoriser');
145
-			if(!autoriser('configurer', _request('configuration'))) {
145
+			if (!autoriser('configurer', _request('configuration'))) {
146 146
 				include_spip('inc/minipres');
147 147
 				echo minipres(_T('info_acces_interdit'));
148 148
 				exit;
@@ -183,7 +183,7 @@  discard block
 block discarded – undo
183 183
  */
184 184
 if (_IS_BOT and (
185 185
 	(isset($_REQUEST['echelle']) and isset($_REQUEST['partie_cal']) and isset($_REQUEST['type']))
186
-	or (strpos((string)$_SERVER['REQUEST_URI'], 'debut_') and preg_match(',[?&]debut_.*&debut_,', (string)$_SERVER['REQUEST_URI']))
186
+	or (strpos((string) $_SERVER['REQUEST_URI'], 'debut_') and preg_match(',[?&]debut_.*&debut_,', (string) $_SERVER['REQUEST_URI']))
187 187
 )
188 188
 )
189 189
 	$ecran_securite_raison = "robot agenda/double pagination";
@@ -195,7 +195,7 @@  discard block
 block discarded – undo
195 195
 if (isset($_REQUEST['page'])) {
196 196
 	if ($_REQUEST['page'] == 'test_cfg')
197 197
 		$ecran_securite_raison = "test_cfg";
198
-	if ($_REQUEST['page'] !== htmlspecialchars((string)$_REQUEST['page']))
198
+	if ($_REQUEST['page'] !== htmlspecialchars((string) $_REQUEST['page']))
199 199
 		$ecran_securite_raison = "xsspage";
200 200
 	if ($_REQUEST['page'] == '404'
201 201
 	and isset($_REQUEST['erreur']))
@@ -233,12 +233,12 @@  discard block
 block discarded – undo
233 233
 /*
234 234
  * Outils XML mal sécurisés again
235 235
  */
236
-if (isset($_REQUEST['var_url']) and $_REQUEST['var_url'] and isset($_REQUEST['exec']) and $_REQUEST['exec']=='valider_xml'){
236
+if (isset($_REQUEST['var_url']) and $_REQUEST['var_url'] and isset($_REQUEST['exec']) and $_REQUEST['exec'] == 'valider_xml') {
237 237
 	$url = trim($_REQUEST['var_url']);
238
-	if (strncmp($url,'/',1)==0
239
-	  or (($p=strpos($url,'..'))!==false AND strpos($url,'..',$p+3)!==false)
240
-	  or (($p=strpos($url,'..'))!==false AND strpos($url,'IMG',$p+3)!==false)
241
-		or (strpos($url,'://')!==false or strpos($url,':\\')!==false)) {
238
+	if (strncmp($url, '/', 1) == 0
239
+	  or (($p = strpos($url, '..')) !== false AND strpos($url, '..', $p + 3) !== false)
240
+	  or (($p = strpos($url, '..')) !== false AND strpos($url, 'IMG', $p + 3) !== false)
241
+		or (strpos($url, '://') !== false or strpos($url, ':\\') !== false)) {
242 242
 		$ecran_securite_raison = 'URL interdite pour var_url';
243 243
 	}
244 244
 }
@@ -247,10 +247,10 @@  discard block
 block discarded – undo
247 247
  * Sauvegarde mal securisée < 2.0.9
248 248
  */
249 249
 if (isset($_REQUEST['nom_sauvegarde'])
250
-and strstr((string)$_REQUEST['nom_sauvegarde'], '/'))
250
+and strstr((string) $_REQUEST['nom_sauvegarde'], '/'))
251 251
 	$ecran_securite_raison = 'nom_sauvegarde manipulee';
252 252
 if (isset($_REQUEST['znom_sauvegarde'])
253
-and strstr((string)$_REQUEST['znom_sauvegarde'], '/'))
253
+and strstr((string) $_REQUEST['znom_sauvegarde'], '/'))
254 254
 	$ecran_securite_raison = 'znom_sauvegarde manipulee';
255 255
 
256 256
 
@@ -265,8 +265,8 @@  discard block
 block discarded – undo
265 265
 /*
266 266
  * Forms & Table ne se méfiait pas assez des uploads de fichiers
267 267
  */
268
-if (count($_FILES)){
269
-	foreach($_FILES as $k => $v){
268
+if (count($_FILES)) {
269
+	foreach ($_FILES as $k => $v) {
270 270
 		 if (preg_match(',^fichier_\d+$,', $k)
271 271
 		 and preg_match(',\.php,i', $v['name']))
272 272
 		 	unset($_FILES[$k]);
@@ -276,7 +276,7 @@  discard block
 block discarded – undo
276 276
  * et Contact trop laxiste avec une variable externe
277 277
  * on bloque pas le post pour eviter de perdre des donnees mais on unset la variable et c'est tout
278 278
  */
279
-if (isset($_REQUEST['pj_enregistrees_nom']) and $_REQUEST['pj_enregistrees_nom']){
279
+if (isset($_REQUEST['pj_enregistrees_nom']) and $_REQUEST['pj_enregistrees_nom']) {
280 280
 	unset($_REQUEST['pj_enregistrees_nom']);
281 281
 	unset($_GET['pj_enregistrees_nom']);
282 282
 	unset($_POST['pj_enregistrees_nom']);
@@ -306,7 +306,7 @@  discard block
 block discarded – undo
306 306
 /*
307 307
  * Réinjection des clés en html dans l'admin r19561
308 308
  */
309
-if (strpos($_SERVER['REQUEST_URI'], "ecrire/") !== false){
309
+if (strpos($_SERVER['REQUEST_URI'], "ecrire/") !== false) {
310 310
 	$zzzz = implode("", array_keys($_REQUEST));
311 311
 	if (strlen($zzzz) != strcspn($zzzz, '<>"\''))
312 312
 		$ecran_securite_raison = 'Cle incorrecte en $_REQUEST';
Please login to merge, or discard this patch.