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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • We are officially opening! Grand Opening: Saturday, 19 September at 16:00 (Greek time — server time). Server is now in TEST/BETA phase → everything will be alive & complete at opening. == WHY YOU SHOULD BE THERE AT 16:00 ==  Rates 9300x EXP / 3000x SP / 5500x Adena — fast start, non-stop action Gracia Final — the real, nostalgic line-up. Like L2 Pride, but fresh & stable No wipe, no close, 24/7 with AntiDoss protection  Safe Enchant +3 · Max Enchant +25 Drop 1x — epic drops feel EPIC == AT OPENING (19/9, 16:00) == - Full server live ceremony: everyone starts in the world together - Community events & giveaways announced LIVE on Discord - Forum + support fully active == GET READY ==  Download the client: https://l2aquila.com/downloads.html Install guide (3 steps, 2 minutes): https://l2aquila.com/install-guide.html  Join Discord to be there at launch: https://discord.gg/5ZyBRvG4k == Countdown is running on the site: https://l2aquila.com == Be part of L2Aquila from the very first minute. 
    • support for new protocols https://imgur.com/PhwtEEX https://imgur.com/Dyul5wt
    • TOPSERVERS200 is a platform for promoting Lineage 2 projects and helping players discover new servers. Add your server, announce your upcoming launch, and compete in the TOP 200 rankings. ━━━━━━━━━━━━━ ◆ ━━━━━━━━━━━━━ TOPSERVERS200 FEATURES   📅 Launch Announcements - announce your new server and attract players both before and after its launch. 🏆 TOP 200 - earn votes from players and climb the Lineage 2 server rankings. 🌐 Server Page - chronicles, rates, launch dates, descriptions, reviews, and other key information about your server. 📺 Lineage 2 Streams - player streams from Twitch, YouTube, and Kick collected in a dedicated section of the platform. 📢 Promotion - VIP placement, banner advertising, and additional options to increase your project's visibility.   ━━━━━━━━━━━━━ ◆ ━━━━━━━━━━━━━ AVAILABLE GAMES   Lineage 2 • Minecraft • World of Warcraft • GTA 5 • MuOnline • SAMP • Perfect World   ━━━━━━━━━━━━━ ◆ ━━━━━━━━━━━━━ LINEAGE 2 ON TOPSERVERS200   Current servers, upcoming launches, rankings, and player reviews - all gathered in one section. VIEW LINEAGE 2 SERVER RANKINGS
    • L2Elite is still around fortunately or unfortunately, Archon I don't remember, RaceSupremacy was such a cool server, I really enjoyed my time there I was playing Grand Khavatary there, Core i've played also but I have no memory of it, one other server I really enjoyed was L2Total I remember a glitch/bug I found there where before clicking ok on exchanging goldbars to adena you would spam screenshot and it would duplicate the item, loved it.
    • 🔥 Daily restock across all tools! Get your favorite AI subscriptions at unbeatable prices.
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..