conn = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD); $ok = mysqli_select_db($this->conn,DB_NAME); if (!$ok) return false; $this->get_options(); // plugin disabled if (!$this->enable) return; // current request is admin's one if (isset($_COOKIE['wpantiddos']) && $_COOKIE['wpantiddos']==$this->cookie) return; if ($this->only_params_enabled) if (!$this->only_param_detected()) return; // detect request type and limits if ($this->xhr_request()) { if ($this->hits_limit_XHR=='ANY') return; $request_type = 'xhr'; $hits_limit = $this->hits_limit_XHR; $seconds_limit = wpadtiddos_seconds_limit_XHR; } elseif ($_POST && isset($_POST[$this->pass_param]) ) { if ($this->seconds_limit_AUTH=='ANY') return; $request_type = 'auth'; $seconds_limit = $this->seconds_limit_AUTH; $this->only_params .= ' '.$this->pass_param; $hits_limit = 1; } elseif ($_POST) { if ($this->seconds_limit_POST=='ANY') return; $request_type = 'post'; $hits_limit = 1; $seconds_limit = $this->seconds_limit_POST; } else { if ($this->hits_limit_GET=='ANY') return; $request_type = 'get'; $hits_limit = $this->hits_limit_GET; $seconds_limit = wpadtiddos_seconds_limit_GET; } if ($this->send_header) header("WP_AntiDDOS: yes"); if ($this->cloudflare) { if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; } $this->ip = $_SERVER['REMOTE_ADDR']; if ($this->block_cnet) $this->ip = substr($this->ip,0,strrpos($this->ip,'.')+1); $this->warm_level = ceil($hits_limit/2); try { $res = mysqli_query($this->conn,"SELECT count(*) kount FROM $this->table_name WHERE ip='".addslashes($this->ip)."' AND tstamp>".(time()-$seconds_limit)." AND type='$request_type'"); $row = mysqli_fetch_assoc($res); if (!$row) $this->error_msg = 'Error detected'; $this->hits = @$row['kount']+1; // consider current request too if ($this->hits==0) // if no hits from this IP $this->visitor = "new"; elseif ($this->hits>$hits_limit) $this->visitor = "hot"; elseif ($this->hits>=$this->warm_level) $this->visitor = "warm"; else $this->visitor = "cool"; // add current hit mysqli_query($this->conn,"INSERT INTO $this->table_name SET ip='$this->ip', type='$request_type', tstamp=".time()); // cleanup ip list $clear_time = max($this->delay_time,$seconds_limit); mysqli_query($this->conn,"DELETE FROM $this->table_name WHERE tstamp<".(time()-$clear_time)); } catch(Exception $e) { $this->error_msg = $e->getString(); $this->status = 'error'; mysqli_close($this->conn); return; } mysqli_close($this->conn); if (!empty($this->error_msg) ) { $this->status = 'error'; } if ($this->auto && $this->visitor=='hot') { header('HTTP/1.0 503 Service Unavailable'); header('Status: 503 Service Unavailable'); header("Retry-After: ".($this->delay_time+1)); // submit form first if POST request if (!$_POST) print ""; else { $inputs = $this->array_to_fields($_POST); print '
'. $inputs. '
'; } if ($request_type=='auth') printf("

$this->delay_message_auth

",$this->delay_time); else printf("

$this->delay_message

",$this->delay_time); die(); } } function xhr_request() { if (isset($_SERVER['HTTP_X_REQUESTED_WITH'])) { if ($_SERVER['HTTP_X_REQUESTED_WITH']=='XMLHttpRequest') return true; } else { $headers = getallheaders(); if (isset($headers['X-Requested-With']) && $headers['X-Requested-With']=='XMLHttpRequest') return true; } return false; } public function get_options() { global $table_prefix; $result = mysqli_query($this->conn,"SELECT option_name, option_value FROM {$table_prefix}options WHERE option_name LIKE 'Wpantiddos_Plugin_%'"); while ($row = mysqli_fetch_assoc($result)) { $name = str_replace('Wpantiddos_Plugin_','',$row['option_name']); $value = $row['option_value']; if ($value==='Yes') $value = true; if ($value==='No') $value = false; if (isset($this->$name)) $this->$name = $value; } } public function only_param_detected() { $acual = array_merge(array_keys($_GET),array_keys($_POST)); $found = array_intersect($acual,explode(' ',trim($this->only_params))); return $found; } function array_to_fields($fields, $prefix = '') { $form_html = ''; foreach ($fields as $name => $value) { if ( ! is_array($value)) { if ( ! empty($prefix)) { $name = $prefix . '[' . $name . ']'; } // generate the hidden field $form_html .= "\n"; } else { if ( ! empty($prefix)) { $subprefix = $prefix . '[' . $name . ']'; } else { $subprefix = $name; } $form_html .= array_to_fields($value, $subprefix); } } return $form_html; } } ?> articles | Bourgogne Passions - Part 3

Bourgogne Passions

Category Archives: articles

zoom
Commentaires fermés sur Surprenante visite de Beaune

Surprenante visite de Beaune

Stupéfiante visite souterraine de Beaune, pour le travail.
Un dédale kilométrique de caves et celliers. Petit air de catacombes parisiennes, bien qu’ici les bouteilles remplacent les tibias.
Dégustation impromptue, mais assumée (appréciée !), de la production locale, dont le célèbre « clos des Mouches ».
Sur la surface, au soleil, rapides relevés de tourelles XVIe siècle cachées sournoisement dans quelques cours secrètes.

Quoique en disent les dijonnais, les « ânes de Beaune » savent recevoir fieu !

zoom
Commentaires fermés sur découverte de la chapelle du saint Esprit :un succès

découverte de la chapelle du saint Esprit :un succès

Tour à tour Hôpital, asile, cuverie, logement, la chapelle du saint esprit a connu bien des vicissitudes jusqu’à sa récente réhabilitation par l’office intercommunal du pays beaunois. Pendant les journées du patrimoine, des visites guidées permettaient au public de découvrir cette histoire près de 250 personnes ont répondu à l’invitation de l’office intercommunal du pays beaunois.

Lire la suite

zoom
Commentaires fermés sur Sainte Reine l’autre héroïne de l’Auxois avec Vercingétorix

Sainte Reine l’autre héroïne de l’Auxois avec Vercingétorix

Une concurrente de Vercingétorix à Alésia ,telle pourrait apparaître cette jeune fille ,instruite dans la foi chrétienne par sa nourrice .Son culte est attesté à Alésia (Alise sainte -Reine) dès le Ve siècle par une basilique érigée au dessus de son sarcophage .Elle aurait subi le martyr là même ou Vercingétorix se rendit à César .A l’approche de sa fête ,la ravissante petite église de Grignon accueillait ses reliques .
Elles en ont fait du chemin depuis tant de siècles !Après son martyr ,sainte Reine ,fut enterrée à Alise .Rapidement sa sépulture devint un lieu de culte et des miracles lui furent attribués .
Au IX e siècle ,la région s’embrase sous le feu des invasions normandes .On s’empresse de leur trouver un abri . Quoi de mieux pour protéger des précieuses reliques que les cryptes de la puissante abbaye saint Pierre de Flavigny , nichée sur son promontoire rocheux !
Les dangers passés ,les fidèles d’Alise auraient bien voulu récupérer les reliques de leur sainte .Ils se heurtèrent au refus des moines de Flavigny qui avaient bien compris qu’accueillir des reliques dans leur sanctuaire pouvait faire leur bonne fortune .
La querelle dura plusieurs siècles .
Aussi en ce 28 août 2016 ,c’est un véritable événement pour la petite église de Grignon que d’accueillir ces reliques .Qui de Flavigny ,ou d’Alise(lieu de son martyre) ou de Grignon (lieu ou elle aurait été emprisonnée) accueillera ces reliques ? Le débat n’est pas clos !
Quoiqu’il en soit les trois petites cités et le cryptes de Flavigny méritent vraiment une petite visite .

zoom
Commentaires fermés sur Les touts petits à la conquête du château

Les touts petits à la conquête du château