define('wpadtiddos_seconds_limit_GET',1); define('wpadtiddos_seconds_limit_XHR',3); class wp_antiddos { var $enable = true; var $hits_limit_GET = 3; // hits limit for GET requests (per wpadtiddos_seconds_limit_GET second) var $hits_limit_XHR = 3; // hits limit for XHR requests (per wpadtiddos_seconds_limit_XHR second) var $seconds_limit_POST = 3; // seconds limit for POST requests var $seconds_limit_AUTH = 3; // seconds limit for AUTH (Password) requests var $visitor; // status of visitor = raw|cool|warm|hot var $warm_level; // number of hits for last $seconds_limit seconds that cause visitor`s status turn to warm var $auto = true; // block visitors by AntiDDOS var $delay_time = 30; // seconds of delay of blocked visitors var $block_cnet = true; // block all C class net. var $cloudflare = true; // convert Cloudflare HTTP_CF_CONNECTING_IP to REMOTE_ADDR var $send_header = false; // send "WP_AntiDDOS: yes" header for debug purposes var $only_params_enabled = false; // Only Params feature enabled var $only_params = 's'; // the only GET/POST params that trigger checkup var $status, $error_msg; var $conn; // mysql connection var $hits = false; // actual hits number for current IP var $cookie = ''; // wpantiddos cookie value that prevents anti DDOS processing var $table_name = ''; var $pass_param = 'pwd'; // name of POST parameter that indentify Login (AUTH) request var $delay_message = 'Our server is currently overloaded, your request will be repeated automatically in %s seconds'; var $delay_message_auth = 'Our server is currently overloaded, your request will be repeated automatically in %s seconds'; public function __construct() { if (isset($GLOBALS['wp_antiddos_instance'])) return; else $GLOBALS['wp_antiddos_instance'] = &$this; if ($_SERVER['REMOTE_ADDR']=='127.0.0.1') return; $this->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 ' '; } if ($request_type=='auth') printf("[vc_row container=\u00a0\u00bbtrue\u00a0\u00bb css=\u00a0\u00bb.vc_custom_1474001646517{padding-top: 0px !important;padding-bottom: 55px !important;}\u00a0\u00bb][vc_column]\t
Fabrication de stickers pour garder les distances de s\u00e9curit\u00e9<\/p>\t\t<\/div>\n\t<\/div>\n\t[vc_row_inner css=\u00a0\u00bb.vc_custom_1474026161945{padding-right: 15px !important;padding-left: 15px !important;}\u00a0\u00bb][vc_column_inner width=\u00a0\u00bb5\/12″][vc_single_image image=\u00a0\u00bb763″ img_size=\u00a0\u00bbfull\u00a0\u00bb][vc_gallery interval=\u00a0\u00bb3″ images=\u00a0\u00bb986,987,992,994″ img_size=\u00a0\u00bbfull\u00a0\u00bb][\/vc_column_inner][vc_column_inner width=\u00a0\u00bb7\/12″][vc_column_text]<\/p>\n
Des stickers de distanciation sociale, des affiches et des panneaux d’information afin de rappeler les gestes barri\u00e8res dans votre \u00e9tablissement.<\/p>\n
Virus Communication fabrique des stickers \u00e9cologiques avec de l’eau et du latex pour faire respecter les distances de s\u00e9curit\u00e9 entre les personnes. La distanciation sociale permet de ralentir les contaminations.<\/p>\n<\/div>\n
Nos adh\u00e9sifs poss\u00e8dent une colle renforc\u00e9e et une plastification antid\u00e9rapante. Nous vous proposons nos propres mod\u00e8les, ou nous pouvons les faire \u00e0 vos couleurs.<\/p>\n
Nos Packs sont disponibles ! Avec Les adh\u00e9sifs de marquage au sol<\/b> Virus Protect vous permet d’obtenir une excellente qualit\u00e9 pour\u00a0la signalisation au sol de vos ateliers<\/b>\u00a0(zones de stockage, zones de circulation, des zones de dangers, identification des flux,…).<\/p>\n
Les\u00a0adh\u00e9sifs de signal\u00e9tique au sol<\/b> de Virus protect offrent un excellent collage (adh\u00e9sion) sur tous types de sols et sont trois fois plus r\u00e9sistants au sol<\/b>\u00a0(r\u00e9sistance \u00e0 l’usure) que les autres produits disponibles sur\u00a0le\u00a0march\u00e9.<\/p>\n
La pose de ces produits est\u00a0extr\u00eamement simple et ne n\u00e9cessite\u00a0pas d’arr\u00eat d’activit\u00e9. Nous fournissons une notice de pose avec tous nos produits.<\/p>\n
Ils pr\u00e9sentent enfin le tr\u00e8s grand avantage de pouvoir\u00a0s’enlever sans traces<\/b>, et ce m\u00eame apr\u00e8s plusieurs ann\u00e9es (tr\u00e8s utile et pratique lors de la reconfiguration de vos zones).<\/p>\nAutocollants Coronavirus Covid-19<\/h1>\n
Ces adh\u00e9sifs contribuent \u00e0 pr\u00e9venir la propagation du virus Corona Covid-19 et permettent d’organiser la vie courante. Ces autocollants en vinyle de grande qualit\u00e9 permettent de communiquer sur la distanciation sociale, les gestes d’hygi\u00e8nes \u00e0 observer et les recommandations \u00e0 suivre en cette p\u00e9riode de pand\u00e9mie.<\/p>\n
<\/p>\n
<\/p>\n
[\/vc_column_text]\t\t\t
Solutions rapides \u00e0 mettre en oeuvre<\/p>\t\t<\/div>\n\t<\/div>\n\t[vc_row_inner][vc_column_inner width=\u00a0\u00bb1\/3″]\t
Oblige les usagers \u00e0 s'espacer<\/p>\t\t\t\t\t<\/div>\n\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t
Id\u00e9al pour les commerces alimentaires, les banques, les administrations, les h\u00f4pitaux...<\/p>\t\t\t\t\t<\/div>\n\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t[\/vc_column_inner][vc_column_inner width=\u00a0\u00bb1\/3″]\t
Diminue les contaminations entre les personnes<\/p>\t\t\t\t\t<\/div>\n\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t
R\u00e9alis\u00e9s suivant nos mod\u00e8les ou \u00e0 vos couleurs<\/p>\t\t\t\t\t<\/div>\n\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t[\/vc_column_inner][vc_column_inner width=\u00a0\u00bb1\/3″]\t
Rassure les personnes quand elles doivent faire la queue<\/p>\t\t\t\t\t<\/div>\n\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t
Fabriqu\u00e9 chez nous \u00e0 St Genis Laval !<\/p>\t\t\t\t\t<\/div>\n\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t[\/vc_column_inner][\/vc_row_inner][\/vc_column][\/vc_row][vc_row container=\u00a0\u00bbtrue\u00a0\u00bb css=\u00a0\u00bb.vc_custom_1474001656909{padding-top: 90px !important;padding-bottom: 0px !important;}\u00a0\u00bb][vc_column width=\u00a0\u00bb1\/2″]\t
Solutions mises en oeuvre brevet\u00e9es et normalis\u00e9es<\/p>\t\t<\/div>\n\t<\/div>\n\t\t\t
D\u00e9couvrez les b\u00e9n\u00e9fices \u00e0 utiliser nos produits<\/p>\t\t<\/div>\n\t<\/div>\n\t