Jump to content

Recommended Posts

Posted (edited)

Sample for website

 

 


index.php



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<?php
require_once("functions.php");

$action = 0;
if(isset($_POST["_type"]))
{
  $action = $_POST["_type"];
}

$page = 0;
if(isset($_GET["page"]))
{
  $page = $_GET["page"];
}


?>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2"/>
	<link rel="Stylesheet" type="text/css" href="css/style.css" />
	<title>Account Panel</title>
	<style>body {background-color: black;}html, body {height: 100%;margin: 0;padding: 0;}</style><!--{background:url("backround.png");background-size:100% 100%;background-repeat:no-repeat;-->
</head>
<body bgcolor="black" oncontextmenu="return false">
<center>
<br><br><br><br><br><br>
<?php

//echo '<h2><a href="'.$serverUrl.'" alt="Home">'.$serverName.'</a></h2>';

switch($action)
{
  case 1:
  {
    RequestCreateAccount();
    break;
  }
  case 2:
  {
    RequestChangePassword();
    break;
  }
  case 3:
  {
    RequestResetPassword();
    break;
  }
}

if($action == 0)
{
  switch($page)
  {
    case 0:
    {
      echo ShowMenu();
      break;
    }
    case 1:
    {
      echo ShowCreateAccount();
      break;
    }
    case 2:
    {
      echo ShowChangePassword();
      break;
    }
    case 3:
    {
      echo ShowResetPassword();
      break;
    }
  }
}

?>
<br><br><br><br>
</center>
</body>
</html>

 

functions.php



<?php
include('config.php');
//require_once('captcha.php');


// Statistics
function mssql_ex() {
	global $CONFIG;
	$mssql = mssql_connect($CONFIG['mssql_host'],$CONFIG['mssql_user'],$CONFIG['mssql_pass']) or die ('Unable to connect to server.');
	$select = mssql_select_db($CONFIG['mssql_db'], $mssql) or die ('Unable to select database.');
}

// APG Panel
class Packet
{
  private $buff = "";
  private $len = 0;
  
  public function WriteS($text)
  {
    $count = strlen($text);
    for($n=0;$n<$count;$n++)
    {
      $this->buff .= $text[$n];
    }
    $this->buff .= "\0";
    $this->len += $count + 1;
  }
  public function WriteC($value)
  {
    $this->buff .= pack('c', $value);
    $this->len += 1;
  }
  public function WriteD($value)
  {
    $this->buff .= pack('l', $value);
    $this->len += 4;
  }
  public function GetBuff()
  {
    return $this->buff;
  }
  public function GetLen()
  {
    return $this->len;
  }
  public function SendTo($sock)
  {
    if($this->len > 0)
    {
      $totalLen = 2 + $this->len;
      fwrite($sock, pack("s", $totalLen) . $this->buff);
    }
  }
};

class PacketIn
{
  private $len = 0;
  private $sock;
  public function Init($socket)
  {
    $this->sock = $socket;
    list(, $value) = unpack ( "v", fread ( $this->sock, 2 ) );
    $this->len = $value;
    if($this->len > 0)
    {
      return true;
    }
    return false;
  }
  public function GetLen()
  {
    return $this->len;
  }
  public function ReadC()
  {
    list(, $value) = unpack("c", fread($this->sock, 1));
    return $value;
  }
  public function ReadD()
  {
    list(, $value) = unpack("l", fread($this->sock, 4));
    return $value;
  }
  public function ReadS()
  {
    $str = "";
    while(!feof($this->sock))
    {
      $str .= fread($this->sock, 1);
    }
    return $str;
  }
};

function ShowCaptcha()
{
	global $captchaType;
	
  $captchaId  = '1454';
	if($captchaType == 1)
	{
		$captchaId = '1471';
	}
  $publicKey  = '27407abc-f6dc-4ec2-a960-8f97f0cde93d';
  return GetCaptcha($captchaId, $publicKey); 
}

function IsValidCaptcha()
{
  global $captchaType;
  if(isset($_POST['_type']))
  {
    $captchaId  = '1454';
    $privateKey = '22f92520-9fc1-413a-94ff-21b52d805b0a';
    if($captchaType == 1)
    {
      $captchaId = '1471';
    }
    $challengeValue = $_POST['adscaptcha_challenge_field'];
    $responseValue  = $_POST['adscaptcha_response_field'];
    $remoteAddress  = $_SERVER["REMOTE_ADDR"];

    if ("true" == ValidateCaptcha($captchaId, $privateKey, $challengeValue, $responseValue, $remoteAddress))
    {
      return TRUE;
    }
  }
  return FALSE;
}

function encrypt( $plain )
{
  $array_mul = array ( 0 => 213119, 1 => 213247, 2 => 213203, 3 => 213821 );
  $array_add = array ( 0 => 2529077, 1 => 2529089, 2 => 2529589, 3 => 2529997 );
  $dst = $key = array ( 0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0, 7 => 0, 8 => 0, 9 => 0, 10 => 0, 11 => 0, 12 => 0, 13 => 0, 14 => 0, 15 => 0 );

  for ( $i = 0; $i < strlen ( $plain ); $i++ ) {
    $dst [ $i ] = $key [ $i ] = ord ( substr ( $plain, $i, 1 ) );
  }

  for ( $i = 0; $i <= 3; $i++ ) {
    $val [ $i ] = fmod ( ( $key [ $i * 4 + 0 ] + $key [ $i * 4 + 1 ] * 0x100 + $key [ $i * 4 + 2 ] * 0x10000 + $key [ $i * 4 + 3 ] * 0x1000000 ) * $array_mul [ $i ] + $array_add [ $i ], 4294967296 );
  }

  for ( $i = 0; $i <= 3; $i++ ) {
    $key [ $i * 4 + 0 ] = $val [ $i ] & 0xff;
    $key [ $i * 4 + 1 ] = $val [ $i ] / 0x100 & 0xff;
    $key [ $i * 4 + 2 ] = $val [ $i ] / 0x10000 & 0xff;
    $key [ $i * 4 + 3 ] = $val [ $i ] / 0x1000000 & 0xff;
  }

  $dst [ 0 ] = $dst [ 0 ] ^ $key [ 0 ];
  for ( $i = 1; $i <= 15; $i++ ) {
    $dst [ $i ] = $dst [ $i ] ^ $dst [ $i - 1 ] ^ $key [ $i ];
  }

  for ( $i = 0; $i <= 15; $i++ ) {
    if ( $dst [ $i ] == 0 ) {
      $dst [ $i ] = 0x66;
    }
  }

  $encrypted = "0x";
  for ( $i = 0; $i <= 15; $i++ ) {
    if ( $dst [ $i ] < 16 ) {
      $encrypted .= "0";
    }
    $encrypted .= /*strtoupper (*/ dechex ( $dst [ $i ] ) /*)*/;
  }
  return ( $encrypted );
}

function DBGetAccountId($login)
{
  global $dbHost, $dbPort;
  $sock = fsockopen($dbHost, $dbPort) or die('Cannot connect to: '.$dbHost);
  $packet = new Packet();
  $packet->WriteC(3);
  $packet->WriteS($login);
  $packet->SendTo($sock);
  //GetReply
  $pckIn = new PacketIn();
  if($pckIn->Init($sock))
  {
      $pckIn->ReadC();  //OpCode
      $accountId = $pckIn->ReadD(); //accountId
      fclose($sock);
      return $accountId;
  }
  fclose($sock);  
  return 0;  
}

//returns accountId if succeed
//-1 - already exists
// 0 - invalid params (login,pwd,email)
//-2 - db error
function DBCreateAccount($login, $password, $email)
{
  $accountId = 0;
  global $dbHost, $dbPort;
  $sock = fsockopen($dbHost, $dbPort) or die('Cannot connect to: '.$dbHost);
  $packet = new Packet();
  $packet->WriteC(0);
  $packet->WriteS($login);
  $packet->WriteS(encrypt($password));
  $packet->WriteS($email);
  $packet->SendTo($sock);
  
  $pckIn = new PacketIn();
  if($pckIn->Init($sock))
  {
    $pckIn->ReadC();  //OpCode
    $accountId = $pckIn->ReadD();
    $message = $pckIn->ReadS();
  }  
  fclose($sock);
  return $accountId;
}

//returns accountId when succeed, 0 - invalid params (login, passwordd, email or newPassword)
//-1 - email doesnt match
//-2 - Password doesnt match
//-3 - DB Error
function DBChanePassword($login, $password, $newPassword, $email)
{
  $accountId = 0;
  global $dbHost, $dbPort;
  $sock = fsockopen($dbHost, $dbPort) or die('Cannot connect to: '.$dbHost);
  $packet = new Packet();
  $packet->WriteC(1);
  $packet->WriteS($login);
  $packet->WriteS(encrypt($password));
  $packet->WriteS($email);
  $packet->WriteS(encrypt($newPassword));
  $packet->SendTo($sock);
  
  $pckIn = new PacketIn();
  if($pckIn->Init($sock))
  {
    $pckIn->ReadC();  //OpCode
    $accountId = $pckIn->ReadD();
    $message = $pckIn->ReadS();
  }  
  fclose($sock);
  return $accountId;
}

//returns accountId if succeed
// 0 - invalid params (login, email or newPassword)
//-1 - email doesn't match
//-2 - DB Error
function DBResetPassword($login, $email, $newPassword)
{
  $accountId = 0;
  global $dbHost, $dbPort;
  $sock = fsockopen($dbHost, $dbPort) or die('Cannot connect to: '.$dbHost);
  $packet = new Packet();
  $packet->WriteC(2);
  $packet->WriteS($login);
  $packet->WriteS($email);
  $packet->WriteS($newPassword);
  $packet->WriteS(encrypt($newPassword));
  $packet->SendTo($sock);
  
  $pckIn = new PacketIn();
  if($pckIn->Init($sock))
  {
    $pckIn->ReadC();  //OpCode
    $accountId = $pckIn->ReadD();
    $message = $pckIn->ReadS();
  }  
  
  return $accountId;
}

function ShowMenu()
{
  $html = '
  <table width=550>
  <tr><td><h2>Create your account</h2><br>
      It is very important that you read the server <b><i>Rules and Terms of Use</i></b> before you register.<br1>
      Remember that you are responsible for the security of your account.<br>
      Use a valid email address to register, it will be your only security in case you lose or forget your password.<br>
  </td></tr></table>
  <br1>
	 <h4><a href="index.php?page=1" id="apmenu">Create Account</a><br>
      <a href="index.php?page=2" id="apmenu">Change Password</a><br>
      <a href="index.php?page=3" id="apmenu">Reset Password</a><br></h4>';
  return $html;
}


function ShowCreateAccount()
{
  global $captchaType;
  $html = '<h2><a href="/">Back</a></h2><br1><h2>Create Account</h2><br>
		  <form action="index.php" id="apform" method="POST" >
		<table>
		 <tr>
		  <td>
          <b>Account name</b><br>
          Please enter your account name<br>
          <input type="text" id="apinput" name="_login"><br><br>
          <b>Password</b><br>
          Please enter your password ( <a href="http://www.microsoft.com/security/online-privacy/passwords-create.aspx" target="_blank" >stronger = better</a> )<br>
          <input type="password" id="apinput" name="_password"><br><br>
          <b>Confirm password</b><br>
          <input type="password" id="apinput" name="_password2"><br><br>
          <b>Email</b><br>
          Please enter your email address<br>
          <input type="text" id="apinput" name="_email"><br><br>
          <input type="hidden" name="_type" value="1">
		  </td>
		 <td>
          <!-- <b>Captcha</b><br>';
          
 // if($captchaType == 1)
//  {
//   $html .= "Please fit the image<br>";
 // }else
 // {
 //   $html .= "Please enter the code<br>";
 // }
 // $html .= ShowCaptcha().
		$html .=	'<br><br>-->
          <input type="submit" id="apsubmit" name="_submit" value="Create">
		  </td>
		 </tr>
		</table>
		</form>';
          
  return $html;
}

function IsValidLogin($login)
{
  $loginRegex = "/^[a-z0-9A-Z0-9]{4,14}+$/";
  if(preg_match($loginRegex, $login))
  { 
    return TRUE;
  }
  return FALSE;
}

function IsValidPassword($password)
{
  $regex = "/^[a-zA-Z0-9]{4,14}+$/";
  if(preg_match($regex, $password))
  { 
    return TRUE;
  }
  return FALSE;
}

function IsValidEmail($email)
{
	$regex = "/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)*\.([a-zA-Z]{2,6})$/";
  //$regex = "/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/";
  if(preg_match($regex, $email))
  { 
    return TRUE;
  }
  return FALSE;
}

function RequestCreateAccount()
{
  $login = $_POST['_login'];
  $password = $_POST['_password'];
  $password2 = $_POST['_password2'];
  $email = $_POST['_email'];
  
  if(!IsValidLogin($login))
  {
    echo '<div style="color: red;">Invalid account name!<br>Please try again.</div>';
    echo ShowCreateAccount();
    return FALSE;
  }
  //if(!IsValidPassword($password))
  //{
  //  echo '<div style="color: red;">Invalid password!<br>Please try again.</div>';
  //  echo ShowCreateAccount();
 //   return FALSE;
 // }
  //if(!IsValidEmail($email))
  //{
 //   echo '<div style="color: red;">Invalid email!<br>Please try again.</div>';
 //   echo ShowCreateAccount();
 //   return FALSE;
 // }
  if($password != $password2)
  {
    echo '<div style="color: red;">Confirmed password doesn\'t match!<br>Please try again.</div>';
    echo ShowCreateAccount();
    return FALSE;
  }
  
  //if(!IsValidCaptcha())
 // {
 //   echo '<div style="color: red;">Captcha doesn\'t match!<br>Please try again.</div>';
  //  echo ShowCreateAccount();
 //   return FALSE;
 // }
  
  $accountId = DBCreateAccount($login, $password, $email);
  if($accountId > 0)
  {
    echo '<h2>Account has been created!</h2><br>';
    return TRUE;
  }else if($accountId == -1)
  {
    echo '<div style="color: red;">Account already exists!<br>Please try again.</div>';
    echo ShowCreateAccount();
    return FALSE;
  }else
  {
    echo '<div style="color: red;">Database Error!<br>Please try again later.</div>';
    return FALSE;
  }
}

function ShowChangePassword()
{
  global $captchaType;
  $html = '<h2><a href="/">Back</a></h2><br1><h2>Change Password</h2><br>
		  <form action="index.php" id="apform" method="POST" >
		<table>
		 <tr>
		  <td>
          <b>Account name</b><br>
          Please enter your account name,<br> alphanumeric characters (a-Z, 0-9)<br>
          <input type="text" id="apinput" name="_login"><br><br>
          <b>Old password</b><br>
          Please enter your old password<br>
          <input type="password" id="apinput" name="_oldpassword"><br><br>
          <b>New password</b><br>
          Please enter your new password ( <a href="http://www.microsoft.com/security/online-privacy/passwords-create.aspx" target="_blank" >stronger = better</a> )<br>
          <input type="password" id="apinput" name="_newpassword"><br><br>
          <b>Confirm new password</b><br>
          Please enter your new password again<br>
          <input type="password" id="apinput" name="_newpassword2"><br><br>
          <b>Email</b><br>
          Please enter your email address<br>
          <input type="text" id="apinput" name="_email"><br><br>
          <input type="hidden" name="_type" value="2">
		  </td>
		  <td>
         <!-- <b>Captcha</b><br>';
          
 // if($captchaType == 1)
 // {
 //   $html .= "Please fit the image<br>";
 // }else
 // {
 //   $html .= "Please enter the code<br>";
//  }
//  $html .= ShowCaptcha().
  $html .='<br><br>-->
          <input type="submit" id="apsubmit" name="_submit" value="Change">
          </td>
		 </tr>
		</table>
		  </form>';
          
  return $html;
}

function RequestChangePassword()
{
  $login = $_POST['_login'];
  $oldpassword = $_POST['_oldpassword'];
  $newpassword = $_POST['_newpassword'];
  $newpassword2 = $_POST['_newpassword2'];
  $email = $_POST['_email'];
  
  if(!IsValidLogin($login))
  {
    echo '<div style="color: red;">Invalid account name!<br>Please try again.</div>';
    echo ShowChangePassword();
    return FALSE;
  }
  if(!IsValidPassword($oldpassword))
  {
    echo '<div style="color: red;">Invalid old password!<br>Please try again.</div>';
    echo ShowChangePassword();
    return FALSE;
  }
  if(!IsValidPassword($newpassword))
  {
    echo '<div style="color: red;">Invalid new password!<br>Please try again.</div>';
    echo ShowChangePassword();
    return FALSE;
  }
  if(!IsValidEmail($email))
  {
    echo '<div style="color: red;">Invalid email!<br>Please try again.</div>';
    echo ShowChangePassword();
    return FALSE;
  }
  if($newpassword != $newpassword2)
  {
    echo '<div style="color: red;">Confirmed password doesn\'t match!<br>Please try again.</div>';
    echo ShowChangePassword();
    return FALSE;
  }
  
//  if(!IsValidCaptcha())
 // {
 //   echo '<div style="color: red;">Captcha doesn\'t match!<br>Please try again.</div>';
 //   echo ShowChangePassword();
 //   return FALSE;
 // }
  
  $accountId = DBGetAccountId($login);
  if($accountId <= 0)
  {
    echo '<div style="color: red;">Account doesn\'t exist!<br>Please try again.</div>';
    echo ShowChangePassword();
    return FALSE;
  }
  
  $accountId = DBChanePassword($login, $oldpassword, $newpassword, $email);
  if($accountId > 0)
  {
    echo '<h2>Password has been changed!</h2><br>';
    return TRUE;
  }else if($accountId == -1)
  {
    echo '<div style="color: red;">Email doesn\'t match!<br>Please try again.</div>';
    echo ShowChangePassword();
    return FALSE;
  }else if($accountId == -2)
  {
    echo '<div style="color: red;">Password doesn\'t match!<br>Please try again.</div>';
    echo ShowChangePassword();
    return FALSE;
  }else
  {
    echo '<div style="color: red;">Database Error!<br>Please try again later.</div>'.$accountId;
    return FALSE;
  }
}

function GeneratePassword()
{
  $length = 8;

  list($usec, $sec) = explode(' ', microtime());
  $seed = (float) $sec + ((float) $usec * 100000);
  srand($seed); 
  $alfa = "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
  $password = "";
  for($i = 0; $i < $length; $i ++)
  {
    $password .= $alfa[rand(0, strlen($alfa))];
  }
  
  return $password;
}

function ShowResetPassword()
{
  global $captchaType;
  $html = '<h2><a href="/">Back</a></h2><br1><h2>Reset Password</h2><br>
          <form action="index.php" id="apform" method="POST" >
		<table>
		 <tr>
		  <td>
          <b>Account name</b><br>
          Please enter your account name<br>
          <input type="text" id="apinput" name="_login"><br><br>
          Please enter your email address<br>
          <input type="text" id="apinput" name="_email"><br><br>
          <input type="hidden" name="_type" value="3">
		  </td>
		 <td>
          <!-- <b>Captcha</b><br>';
          
 // if($captchaType == 1)
 // {
 //   $html .= "Please fit the image<br>";
 // }else
 // {
 //   $html .= "Please enter the code<br>";
 // }
 // $html .= ShowCaptcha().
 $html .='<br><br>-->
          <input type="submit" id="apsubmit" name="_submit" value="Reset">
          </td>
		 </tr>
		</table>
		  </form>';
          
  return $html;
}

function RequestResetPassword()
{
  $login = $_POST['_login'];
  $email = $_POST['_email'];
  
  if(!IsValidLogin($login))
  {
    echo '<div style="color: red;">Invalid account name!<br>Please try again.</div>';
    echo ShowResetPassword();
    return FALSE;
  }
  if(!IsValidEmail($email))
  {
    echo '<div style="color: red;">Invalid email!<br>Please try again.</div>';
    echo ShowResetPassword();
    return FALSE;
  }
  
 // if(!IsValidCaptcha())
 // {
 //   echo '<div style="color: red;">Captcha doesn\'t match!<br>Please try again.</div>';
 //   echo ShowResetPassword();
 //   return FALSE;
 // }
  
  $accountId = DBGetAccountId($login);
  if($accountId <= 0)
  {
    echo '<div style="color: red;">Account doesn\'t exist!<br>Please try again.</div>';
    echo ShowResetPassword();
    return FALSE;
  }
  
  $newPassword = GeneratePassword();
  $accountId = DBResetPassword($login, $email, $newPassword);
  if($accountId > 0)
  {
    echo '<h2>Password has been resetted!<br>Please check your email to see details.</h2><br><h2><a href="/">Back</a></h2>';
    return TRUE;
  }else if($accountId == -1)
  {
    echo '<div style="color: red;">Email doesn\'t match!<br>Please try again.</div>';
    echo ShowResetPassword();
    return FALSE;
  }else
  {
    echo '<div style="color: red;">Database Error('.$accountId.')!<br>Please try again later.</div>';
    return FALSE;
  }
}
?>


 

config.php



<?php

$CONFIG['mssql_host'] = 'TITANAS293\SQLEXPRESS';
$CONFIG['mssql_user'] = 'sa';
$CONFIG['mssql_pass'] = '';
$CONFIG['mssql_db'] = 'lin2world';
$CONFIG['mssql_db2'] = 'lin2db';

// APG Panel
$serverName="L2server";  //Change it to your server name
$serverUrl="http://server.net/"; //Change it to your server website url
$dbHost = "TITANAS293";  //APGateway IP
$dbPort = 1224; //APGateway Port
$captchaType=0; //Captcha Type 1 - Slide , 0 - Text
?>


 

captcha.php (not working just sharing it fully)
 



<?php
$ADSCAPTCHA_API = 'api.adscaptcha.com';
	
function GetCaptcha($captchaId, $publicKey) {
	global $ADSCAPTCHA_API;

	$dummy = rand(1, 9999999999);
	$urlGet = 'http://' . $ADSCAPTCHA_API . "/Get.aspx";
	$urlNoScript = 'http://' . $ADSCAPTCHA_API . "/NoScript.aspx";
	$params = "?CaptchaId="  . $captchaId . 
			  "&PublicKey=" . $publicKey . 
			  "&Dummy=" . $dummy;
	
	$result  = "<script src='" . $urlGet . $params . "' type='text/javascript'></script>\n";
	$result .= "<noscript>\n";
	$result .= "\t<iframe src='" . $urlNoScript . $params . "' width='300' height='100' frameborder='0'></iframe>\n";
	$result .= "\t<table>\n";
	$result .= "\t<tr><td>Type challenge here:</td><td><input type='text' name='adscaptcha_response_field' value='' /></td></tr>\n";
	$result .= "\t<tr><td>Paste code here:</td><td><input type='text' name='adscaptcha_challenge_field' value='' /></td></tr>\n";
	$result .= "\t</table>\n";
	$result .= "</noscript>\n";
	
	return $result;
}

function ValidateCaptcha($captchaId, $privateKey, $challengeValue, $responseValue, $remoteAddress) {
	global $ADSCAPTCHA_API;

	$host = $ADSCAPTCHA_API; 
	$path = "/Validate.aspx";
	
	$params = "CaptchaId=" . $captchaId . "&PrivateKey=" . $privateKey . "&ChallengeCode=" . $challengeValue . "&UserResponse=" . $responseValue . "&RemoteAddress=" . $remoteAddress;
		
	$result = HttpPost($host, $path, $params);

	return $result;
}

function FixEncoding($str) { 	
	$curr_encoding = mb_detect_encoding($str) ; 
	
	if($curr_encoding == "UTF-8" && mb_check_encoding($str,"UTF-8")) {
		return $str; 
	} else {
		return utf8_encode($str); 
	}
}

function HttpPost($host, $path, $data, $port = 80) {
	$data = FixEncoding($data);
	
	$http_request  = "POST $path HTTP/1.0\r\n";
	$http_request .= "Host: $host\r\n";
	$http_request .= "Content-Type: application/x-www-form-urlencoded\r\n";
	$http_request .= "Content-Length: " . strlen($data) . "\r\n";
	$http_request .= "\r\n";
	$http_request .= $data;

	$response = '';
	if (($fs = @fsockopen($host, $port, $errno, $errstr, 10)) == false) {
		die ('Could not open socket! ' . $errstr);
	}
	
	fwrite($fs, $http_request);

	while (!feof($fs))
		$response .= fgets($fs, 1160);
	fclose($fs);
	
	$response = explode("\r\n\r\n", $response, 2);
	return $response[1];
}
?>

 

 

https://mega.nz/#!X8ISTQzL!6i0TKt0nSx1UMgUTFdIQcM_wkZTe4gA_jbkLpyhQqqw

APGateway server
 

WARNING: code is old, its using OLD PHP and deprecated codes everywhere, its not safe it has not even the basic protections, its just shared as sample and/or for testing purposes.

 

if you want real account manager for vanganth files with auto donate payments go here https://shop.denart-designs.com/

Edited by Nightw0lf
  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • Sell ready interlude server files, with all popular features and tested, stable source + fully functional premium geodata for free.   Features include: Events: DM CTF TVT LM Dressme system Custom Buffer GM Shop Custom community board Donation manager  Auto Farm   Album: sell c6 — ImgBB   Test Server online: Patch link: https://drive.google.com/file/d/1mvEbv9XESsvfWwc638xFyyzyESeE2U95/view?usp=drive_link Auto acc create and auto admin   Price: 300$. Discord: l2retro
    • Faltan demasiados archivos,  y lógicas en clases claves como L2pcInstance, entre otras. si bien muchas cosas están y el flujo es valorable.  Gracias por tu esfuerzo es bastante... pero realmente no esta completo el código, falta que subas todas las modificaciones en clases colaterales... podrías intentar subir un diff de todo el mod  completo de tu pack y bueno ahí si que cada uno adapte... pero faltan muchas cosas, dudo que haya gente que lo haya echo funcionar con esto... 
    • I know people who have fully bypassed and reversed AAC. One day, they might even release the full source code, but for now, they’re still making money off it. I won’t name anyone, but it’s clear that there aren’t any truly solid anticheats for Lineage2. As I’ve said before, kernel level anticheats are the only real solution. Anything that runs as Internal and injects gets flagged, and your account ends up getting kicked or banned. That’s just how most games handle it nowadays. To TL;DR the whole thing cheating will always exist because there are people out there smart enough to bypass any protection and run private cheats. Public cheats are always detected eventually, so I don’t see any point in buying AAC, especially when they claim it blocks adr, which simply isn’t true.
    • 🌐 Website: https://l2adonis.com 📅 GRAND OPENING: July 18, 2025 – 20:00 (UTC+2) 💬 Discord: https://discord.com/invite/tZBj8JxAwx 🚫 No auto-farm • No auto-macro • No pay-to-win • No custom   Some Basic Info's (More detalied info's on website)  EXP/SP: x25  Adena: x15  Drop: x15  Spoil: x15  Seal Stones: x15  Raid Boss Drop: x10  Epic Boss Drop: x1  Manor: x10  Safe Enchant: +4  Max Enchant: +16  Normal Scroll Chance: 50%  Blessed Scroll Chance: 66% (If enchant fail item remain +4)  Buff Slots (30+4 extra with Divine Inspiration)  Dances/Songs Slots 14  Auto-learn skills  ⚔️ Real PvP • Real Progression • Retail-like experience JOIN NOW and relive the real L2 experience!
    • Discord         :  utchiha_market Telegram        : https://t.me/utchiha_market Auto Buy Store  : https://utchihamkt.mysellauth.com/ Not sure if we’re legit? Check Our server — real reviews, real buyers https://discord.gg/uthciha-servicess  | https://campsite.bio/utchihaamkt
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock