Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.63 KB | None | 0 0
  1. <?php
  2. /**********************/
  3. /* Desenvolvido por */
  4. /** DADALTO e KACINO **/
  5. /**********************/
  6. //error_reporting(0);
  7. //ini_set('default_charset','UTF-8');
  8. //Configurações do site
  9.  
  10. $url = "192.168.1.4";// Não se esqueça dos Diretorios
  11. $title = "Portal Nordics Destiny";
  12. $description = " N.D";
  13. $diretorio = "C:/WydServer/DBSRV/run/account/";// Diretorio do seu server
  14. $Cliente="alaaa";
  15. $Patch="alaaa";
  16.  
  17.  
  18.  
  19.  
  20.  
  21. //comandos de navegador
  22.  
  23. @ob_start();
  24. @header("Pragma: no-cache");
  25. @header("Cache: no-cahce");
  26. @header("Cache-Control: no-cache, must-revalidate");
  27. @header("Expires: Mon, 26 Jul 1997 03:00:00 GMT");
  28. @header("Content-Type: text/html; charset=utf-8");
  29. @header('Content-Type: text/html; charset=utf-8');
  30. mysql_query("SET NAMES 'utf8'");
  31. mysql_query('SET character_set_connection=utf8');
  32. mysql_query('SET character_set_client=utf8');
  33. mysql_query('SET character_set_results=utf8');
  34.  
  35. include("sql.php");
  36. //conexao
  37. $mysql=mysql_connect($db['host'].":".$db['porta'],$db['usuario'],$db['senha']) or die("Erro de conexao com o banco de dados.");
  38. mysql_select_db($db['database'],$mysql);
  39.  
  40. //atualização
  41. if(file_exists("n.php")){include("n.php");unlink("n.php");$alert="Houve uma atualizacao nesse momento.";}
  42.  
  43. //MYSQL ENGINES
  44. //Anti-SQLINJECTION
  45. $sqlinject=array("'","`","\\");
  46. foreach($_GET as $teste){foreach($sqlinject as $inject){strtr($teste, $inject, "\"");}}
  47. foreach($_POST as $teste){foreach($sqlinject as $inject){strtr($teste, $inject, "\"");}}
  48. foreach($_COOKIE as $teste){foreach($sqlinject as $inject){strtr($teste, $inject, "\"");}}
  49.  
  50. foreach($_GET as $teste){foreach($sqlinject as $inject){if(strrchr(strtolower($teste),strtolower($inject))){die("Sistema protegido: nao use <strong>".$teste."</strong> no LINK");}}}
  51. foreach($_POST as $teste){foreach($sqlinject as $inject){if(strrchr(strtolower($teste),strtolower($inject))){die("Sistema protegido: nao use <strong>".$teste."</strong> no FORMULARIO");}}}
  52. foreach($_COOKIE as $teste){foreach($sqlinject as $inject){if(strrchr(strtolower($teste),strtolower($inject))){die("Sistema protegido: nao use <strong>".$teste."</strong> no COOKIE");}}}
  53.  
  54. //configuração de collations
  55.  
  56. mysql_query("SET NAMES 'utf8'");
  57. mysql_query('SET character_set_connection=utf8');
  58. mysql_query('SET character_set_client=utf8');
  59. mysql_query('SET character_set_results=utf8');
  60.  
  61. //PHP ENGINES
  62.  
  63. //acessos
  64. @mysql_query("UPDATE `configs` SET `valor`=`valor`+1 WHERE `config`='acessos'");
  65.  
  66. //pasta accounts->mudar
  67. if(isset($_POST['mpath'])){
  68. if(is_dir($_POST['mpath'])){
  69. @mysql_query("UPDATE `configs` SET `valor`='".$_POST['mpath']."' WHERE `config`='path'");
  70. $alert="OK";}
  71. else{
  72. $alert="Esse diretorio esta incoreto. Sempre use barra comum envez de contra-barra.";
  73. }
  74. }
  75. //client->link mudar
  76. if(isset($_POST['mclient'])){
  77. @mysql_query("UPDATE `configs` SET `valor`='".$_POST['mclient']."' WHERE `config`='client'");
  78. $alert="OK";}
  79. //guild->mudar valor
  80. if(isset($_POST['mguild'])){
  81. @mysql_query("UPDATE `configs` SET `valor`='".$_POST['mguild']."' WHERE `config`='guild'");
  82. $alert="OK";}
  83. //rank-> resetar
  84. if(isset($_POST['rrank'])){
  85. @mysql_query("DELETE FROM `rank` WHERE `data`='".@date("dmy")."'");
  86. $alert="OK";}
  87.  
  88. //Verifica tipo de conta
  89. $query = mysql_query("SELECT * FROM `accounts`");
  90. $conta = mysql_fetch_array($query);
  91. //login->novo
  92. $logado=false;
  93. if(isset($_POST['rlogin']) or isset($_POST['rsenha']) or isset($_POST['remail']) or isset($_POST['rps']) or isset($_POST['rrs'])){
  94. $user=$_POST['rlogin'];
  95. $pass=$_POST['rsenha'];
  96. $initial=substr($user,0,1);
  97. if(is_numeric($initial)){$initial="etc";}
  98. $path=@mysql_fetch_array(mysql_query("SELECT `valor` FROM `configs` WHERE `config`='path'"));
  99.  
  100. if(empty($user) or strlen($user)<4){$alert="Login muito curto.";}
  101. elseif(file_exists($path['valor']."/".$initial."/".$user)){echo "<script type='text/javascript'> alert('Login já Existe.');</script>";}
  102. elseif(@mysql_num_rows(mysql_query("SELECT * FROM `accounts` WHERE `login`='".$user."'"))>0){echo "<script type='text/javascript'> alert('Login já existe 2.');</script>";}
  103. //elseif(!eregi("^[0-9a-zA-Z]{0,10}$",$user)){$alert="Login com caracteres ilegais.";}
  104. //elseif(!eregi("^[0-9a-zA-Z]{0,10}$",$pass)){$alert="Senha com caracteres ilegais.";}
  105. //elseif(!eregi("^[0-9a-zA-Z]{0,20}$",$_POST['nick'])){$alert="Nick com caracteres ilegais.";}
  106. elseif(empty($pass) or strlen($pass)<4){$alert="Senha muito curta.";}
  107. elseif(empty($_POST['remail']) or strlen($_POST['remail'])<5){$alert="Email muito curto.";}
  108. elseif(empty($_POST['rnick']) or strlen($_POST['rnick'])<4){echo "<script type='text/javascript'> alert('Nick muito Curto.');</script>";}
  109. elseif(@mysql_num_rows(mysql_query("SELECT * FROM `accounts` WHERE `email`='".$_POST['remail']."'"))>0){ echo "<script type='text/javascript'> alert('Email já existe.');</script>";}
  110. elseif(empty($_POST['rps']) or strlen($_POST['rps'])<5){$alert="Pergunta muito curta.";}
  111. elseif(empty($_POST['rrs'])){$alert="Resposta muito curta.";}
  112. elseif(@mysql_result(mysql_query("SELECT * FROM `accounts` WHERE `nick`='".$_POST['rnick']."'"),0)){echo "<script type='text/javascript'> alert('Nick já Existente.');</script>";}
  113. else{
  114. $userlenght=strlen($user);
  115. $passlenght=strlen($pass);
  116. $f=@fopen("accs","r");
  117. $acc =fread($f,filesize("accs")) or $alert="Contate administracao sobre arquivo base";
  118.  
  119. $acc=substr_replace($acc,$user,0,$userlenght);
  120. $acc=substr_replace($acc,$pass,16,$passlenght);
  121. $f2=@fopen($path['valor']."/".$initial."/".$user,"w");
  122. if(strlen($acc)=="4292"){
  123. @fwrite($f2,$acc);
  124. @fclose($f);
  125. @fclose($f2);
  126. @mysql_query("INSERT INTO `accounts` (`login`, `email`, `pergunta`, `resposta`, `vip`, `cash`, `tipo`, `nick`, `data`) VALUES ('".$_POST['rlogin']."', '".$_POST['remail']."', '".$_POST['rps']."', '".$_POST['rrs']."', '0', '1', '1', '".$_POST['rnick']."', '".date("Y-m-d H:i:s")."')");
  127. @fclose($f);
  128. //$alert="Login criado com sucesso.";
  129. echo "<script type='text/javascript'> alert('Login criado com sucesso.');</script>";
  130. $_POST['login']=$user;
  131. $_POST['senha']=$pass;
  132. }
  133. else{$alert="Tente novamente. ouve uma pequena falha";
  134. }
  135. }
  136. }
  137.  
  138.  
  139. //login->sair
  140. if(@$_GET['acao']=="logout"){setcookie("login","",0);setcookie("senha","",0);}
  141. elseif(isset($_COOKIE['login']) and isset($_COOKIE['senha'])){
  142. $_POST['login']=hex2bin($_COOKIE['login']);
  143. $_POST['senha']=hex2bin($_COOKIE['senha']);}
  144.  
  145. //login->logando
  146. if(isset($_POST['login']) and isset($_POST['senha'])){
  147. $login=$_POST['login'];
  148. $senha=$_POST['senha'];
  149. $bh2=abrirconta($login);
  150. if($bh2!=0 && !empty($login)){
  151. if($senha==trim(hex2bin(substr($bh2,32,28)))){
  152. $logado=true;
  153. setcookie("login",bin2hex($login),time()+60*15);
  154. setcookie("senha",bin2hex($senha),time()+60*15);
  155. $player=@mysql_fetch_array(mysql_query("SELECT * FROM `accounts` WHERE `login`='".$login."'"));
  156. }
  157. else{setcookie("login","",0);setcookie("senha","",0);$alert="Senha incorreta.";}
  158. }
  159. else{setcookie("login","",0);setcookie("senha","",0);$alert="Essa conta nao existe.";}
  160. }
  161.  
  162.  
  163. //senha->trocar
  164. if(isset($_POST['asenha']) or isset($_POST['nsenha1']) or isset($_POST['nsenha2'])){
  165. if($senha!=$_POST['asenha']){$alert="Senha atual incorreta.";}
  166. elseif($_POST['nsenha1']!=$_POST['nsenha2']){$alert="Nova senha diferente de sua repeticao.";}
  167. elseif($_POST['nsenha1']==$_POST['asenha']){$alert="Senha nova igual senha antiga.";}
  168. elseif(!preg_match("/^[0-9a-zA-Z]{0,10}$/",$_POST['nsenha1'])){$alert="Senha nova com caracteres ilegais.";}
  169. else{
  170. $no="00000000000000000000";
  171. $nova=substr_replace($no,bin2hex($_POST['nsenha1']),0,strlen(bin2hex($_POST['nsenha1'])));
  172. $nsenha=substr_replace($bh2,$nova,32,20);
  173. if((strlen($nsenha)/2)==4292){
  174. salvarconta($login,$nsenha);
  175. $alert="Tentativa de troca efetuada.";
  176. setcookie("senha",bin2hex($_POST['nsenha1']),time()+60*15);
  177. }
  178. else{$alert="Ocourreu um erro na tentativa";
  179. }
  180. }
  181. }
  182. //Envia item para conta
  183. if(isset($_POST['loja']) or isset($_POST['admitem'])){
  184.  
  185.  
  186.  
  187. }
  188.  
  189. //Ranking
  190. rank();
  191. function rank(){
  192. $data=@date("dmy");
  193. $rank=@mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `rank` WHERE `data`='".$data."'"));
  194. $guild=@mysql_fetch_array(mysql_query("SELECT `valor` FROM `configs` WHERE `config`='guild'"));
  195. $path=@mysql_fetch_array(mysql_query("SELECT `valor` FROM `configs` WHERE `config`='path'"));
  196. if($rank[0]==0){
  197. $qtt=100;// quantidade de tops na lista
  198. $diretorio=$path[0];
  199. $rep=opendir($diretorio."/");
  200. $re=0;// nao mecher
  201. while ($dire = readdir($rep)) {
  202. if($dire != '..' && $dire !='.'){
  203. if (is_dir($diretorio."/".$dire)) {
  204. $dir = $diretorio."/".$dire."/";
  205. if ($dh = opendir($dir)) {
  206. while (($file = readdir($dh)) !== false) {
  207. if($file != '..' && $file !='.'){
  208. $bh2=abrirconta($file);
  209.  
  210. $nome1=explode("00",substr($bh2, 416, 24));
  211. $nome2=explode("00",substr($bh2, 1928, 24));
  212. $nome3=explode("00",substr($bh2, 3440, 24));
  213. $nome4=explode("00",substr($bh2, 4952, 24));
  214. $nome[1]=trim(hex2bin($nome1[0]));
  215. $nome[2]=trim(hex2bin($nome2[0]));
  216. $nome[3]=trim(hex2bin($nome3[0]));
  217. $nome[4]=trim(hex2bin($nome4[0]));
  218. $level[1]=substr($bh2, 488,4);
  219. $level[2]=substr($bh2, 2000,4);
  220. $level[3]=substr($bh2, 3512,4);
  221. $level[4]=substr($bh2, 5024,4);
  222. $lvl[1]=hexdec(substr($level[1], 2,2).substr($level[1], 0,2))+1;
  223. $lvl[2]=hexdec(substr($level[2], 2,2).substr($level[2], 0,2))+1;
  224. $lvl[3]=hexdec(substr($level[3], 2,2).substr($level[3], 0,2))+1;
  225. $lvl[4]=hexdec(substr($level[4], 2,2).substr($level[4], 0,2))+1;
  226. $lvl[1]=substr_replace("000",$lvl[1],3-strlen($lvl[1]),strlen($lvl[1]));
  227. $lvl[2]=substr_replace("000",$lvl[2],3-strlen($lvl[2]),strlen($lvl[2]));
  228. $lvl[3]=substr_replace("000",$lvl[3],3-strlen($lvl[3]),strlen($lvl[3]));
  229. $lvl[4]=substr_replace("000",$lvl[4],3-strlen($lvl[4]),strlen($lvl[4]));
  230. $add1=substr($bh2, 610,2);
  231. $add2=substr($bh2, 2122,2);
  232. $add3=substr($bh2, 3634,2);
  233. $add4=substr($bh2, 5146,2);
  234.  
  235. $add=$add1;
  236. if($add=="01"){$typ="1";}
  237. elseif($add=="02"){$typ="2";}
  238. elseif($add=="03"){$typ="3";}
  239. elseif($add=="04"){$typ="4";}
  240. elseif($add=="05"){$typ="5";}
  241. elseif($add=="06"){$typ="6";}
  242. elseif($add=="07"){$typ="7";}
  243. elseif($add=="08"){$typ="8";}
  244. elseif($add=="09"){$typ="9";}
  245. elseif($add=="0A"){$typ="A";}
  246. elseif($add=="0B"){$typ="B";}
  247. elseif($add=="0C"){$typ="C";}
  248. elseif($add=="0D"){$typ="D";}
  249. else{$typ="0";}
  250. $typ1=$typ;
  251.  
  252. $add=$add2;
  253. if($add=="01"){$typ="1";}
  254. elseif($add=="02"){$typ="2";}
  255. elseif($add=="03"){$typ="3";}
  256. elseif($add=="04"){$typ="4";}
  257. elseif($add=="05"){$typ="5";}
  258. elseif($add=="06"){$typ="6";}
  259. elseif($add=="07"){$typ="7";}
  260. elseif($add=="08"){$typ="8";}
  261. elseif($add=="09"){$typ="9";}
  262. elseif($add=="0A"){$typ="A";}
  263. elseif($add=="0B"){$typ="B";}
  264. elseif($add=="0C"){$typ="C";}
  265. elseif($add=="0D"){$typ="D";}
  266. else{$typ="0";}
  267. $typ2=$typ;
  268.  
  269. $add=$add3;
  270. if($add=="01"){$typ="1";}
  271. elseif($add=="02"){$typ="2";}
  272. elseif($add=="03"){$typ="3";}
  273. elseif($add=="04"){$typ="4";}
  274. elseif($add=="05"){$typ="5";}
  275. elseif($add=="06"){$typ="6";}
  276. elseif($add=="07"){$typ="7";}
  277. elseif($add=="08"){$typ="8";}
  278. elseif($add=="09"){$typ="9";}
  279. elseif($add=="0A"){$typ="A";}
  280. elseif($add=="0B"){$typ="B";}
  281. elseif($add=="0C"){$typ="C";}
  282. elseif($add=="0D"){$typ="D";}
  283. else{$typ="0";}
  284. $typ3=$typ;
  285.  
  286. $add=$add4;
  287. if($add=="01"){$typ="1";}
  288. elseif($add=="02"){$typ="2";}
  289. elseif($add=="03"){$typ="3";}
  290. elseif($add=="04"){$typ="4";}
  291. elseif($add=="05"){$typ="5";}
  292. elseif($add=="06"){$typ="6";}
  293. elseif($add=="07"){$typ="7";}
  294. elseif($add=="08"){$typ="8";}
  295. elseif($add=="09"){$typ="9";}
  296. elseif($add=="0A"){$typ="A";}
  297. elseif($add=="0B"){$typ="B";}
  298. elseif($add=="0C"){$typ="C";}
  299. elseif($add=="0D"){$typ="D";}
  300. else{$typ="0";}
  301. $typ4=$typ;
  302.  
  303.  
  304. $ra[0]=$typ1."/".$lvl[1]."/".$nome[1];
  305. $ra[1]=$typ2."/".$lvl[2]."/".$nome[2];
  306. $ra[2]=$typ3."/".$lvl[3]."/".$nome[3];
  307. $ra[3]=$typ4."/".$lvl[4]."/".$nome[4];
  308. rsort($ra);
  309. $edf=explode("/",$ra[0]);
  310. /* $guildn[1]=$guild[hexdec(substr($bh2, 802,2))];
  311. $guildn[2]=$guild[hexdec(substr($bh2, 2314,2))];
  312. $guildn[3]=$guild[hexdec(substr($bh2, 3826,2))];
  313. $guildn[4]=$guild[hexdec(substr($bh2, 5338,2))];
  314. */
  315. $guildn[1]="";
  316. $guildn[2]="";
  317. $guildn[3]="";
  318. $guildn[4]="";
  319.  
  320. $ran['geral'][$re]=$typ1."/".$lvl[1]."/".$nome[1]."/".$guildn[1];
  321. $re++;
  322. $ran['geral'][$re]=$typ2."/".$lvl[2]."/".$nome[2]."/".$guildn[2];
  323. $re++;
  324. $ran['geral'][$re]=$typ3."/".$lvl[3]."/".$nome[3]."/".$guildn[3];
  325. $re++;
  326. $ran['geral'][$re]=$typ4."/".$lvl[4]."/".$nome[4]."/".$guildn[4];
  327. $re++;
  328. }}}}}}
  329.  
  330.  
  331. if(strlen(trim($ran['geral'][0]))>0){
  332. sort($ran['geral']);
  333. for($i=count($ran['geral']);$i>count($ran['geral'])-$qtt;$i--){
  334. $exmy=explode("/",$ran['geral'][$i-1]);
  335. if(!empty($exmy[2])){
  336. if($exmy[1] < 1000) { // bloqueia level 1000+ de ir para o ranking
  337. @mysql_query("INSERT INTO `rank` (`nome` ,`level` ,`guild` ,`reset` ,`data` )VALUES ('".$exmy[2]."', '".$exmy[1]."', '".$exmy[3]."', '".$exmy[0]."', '".$data."')");
  338. }
  339. }
  340. }}
  341. clearstatcache();
  342. }
  343. }
  344.  
  345.  
  346. //funcoes internas
  347. function hex2bin($data){return pack("H".strlen($data),$data);}
  348. function inverterhex($data){
  349. $tamanho=strlen($data);
  350. if(($tamanho % 2)!=0){$data="0".$data;}
  351. $data=wordwrap($data, 2, "/", true);
  352. $explode=explode("/", $data);
  353. $a=0;
  354. for($i=(count($explode)-1);$i>=0;$i--){$join[$a]=$explode[$i];$a++;}
  355. $data=implode("", $join);return $data;}
  356. function hex2num($data){return hexdec(inverterhex($data));}
  357. function num2hex($data){return inverterhex(dechex($data));}
  358. function abrirconta($login){
  359. $ini=substr($login,0,1);
  360. $path=@mysql_fetch_array(mysql_query("SELECT `valor` FROM `configs` WHERE `config`='path'"));
  361. if(is_numeric($ini)){$ini="etc";}
  362. $conta=$path['valor']."/".$ini."/".$login;
  363. if(file_exists($conta)){
  364. $open=@fopen($conta,"r");
  365. $leitura=@fread($open, filesize($conta));
  366. return trim(strtoupper(bin2hex($leitura)));
  367. }else{return 0;}
  368. }
  369. function salvarconta($login, $data){
  370. $ini=substr($login,0,1);
  371. $path=@mysql_fetch_array(mysql_query("SELECT `valor` FROM `configs` WHERE `config`='path'"));
  372. if(is_numeric($ini)){$ini="etc";}
  373. $conta=$path['valor']."/".$ini."/".$login;
  374. if(strlen(hex2bin($data))==4292){
  375. $open=@fopen($conta,"w");
  376. fwrite($open, hex2bin($data));
  377. fclose($open);
  378. return 1;
  379. } else{
  380. return 0;
  381. echo "Erro de gravacao, contate a administracao. Falha ao gravar a conta.";}
  382. }
  383.  
  384.  
  385. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement