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; } } ?> Hotel Dieu;Louis quatorze;visite insolite – Bourgogne Passions https://www.bourgognepassions.com je vous fais partager ma passion pour ma région ,vous serez conquis Wed, 10 Jan 2024 09:58:06 +0000 fr-FR hourly 1 https://wordpress.org/?v=4.9.8 https://www.bourgognepassions.com/wp-content/uploads/logo-bourgogne-passions-150x150.png Hotel Dieu;Louis quatorze;visite insolite – Bourgogne Passions https://www.bourgognepassions.com 32 32 Promenade nocturne dans Beaune https://www.bourgognepassions.com/promenade-nocturne-dans-beaune/ Mon, 01 Jan 2018 17:50:27 +0000 https://www.bourgognepassions.com/?p=897

]]>
Merveilleux hôtel Dieu ,une fondation charitable qui n’a pas pris une ride https://www.bourgognepassions.com/merveilleux-hotel-dieu-une-fondation-charitable-qui-na-pas-pris-une-ride/ Sun, 08 Oct 2017 07:42:53 +0000 https://www.bourgognepassions.com/?p=867

]]>
quand l’histoire vous est chantée ! https://www.bourgognepassions.com/quand-lhistoire-vous-est-chantee/ Mon, 03 Apr 2017 19:12:58 +0000 https://www.bourgognepassions.com/?p=794

]]>
Surprenante visite de Beaune https://www.bourgognepassions.com/surprenante-visite-de-beaune/ Sun, 29 Jan 2017 21:03:54 +0000 https://www.bourgognepassions.com/?p=768 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 !

]]>
Un regard troublant https://www.bourgognepassions.com/un-regard-troublant/ Sun, 11 Dec 2016 17:08:01 +0000 http://www.bourgognepassions.com/?p=750

]]>
Louis XIV est venu à l’Hotel Dieu https://www.bourgognepassions.com/louis-xiv-est-venu-a-lhotel-dieu/ Fri, 18 Nov 2016 18:01:03 +0000 http://www.bourgognepassions.com/?p=675

]]>