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

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

    • LF the following chars / items on chronos   Elf - with class Aeore's Shillen Saint - this is possible if you had done a class change with a ticket in the past. Dwarf - with class Mystic Muse - same as above   Any greater jewels / Radiant Circle Grace or Foresight +5 and above Cloak      
    • First, you need to understand what you're doing and what you want to achieve. You have to choose a server core. After that, decide what you want your server to include, code it, modify the client to fit your server, go public, and drink champagne.   If you know how to code, creating a server is relatively easy — a few months of work and you can make it happen. Modifying the client is a completely different story. There’s a lack of tutorials, tools, and source materials. I’m currently working on the client myself, and I’ve already spent over three weeks just trying to get started due to the lack of information. If you don’t have the knowledge and experience, you’ll need a team and a bag of money — but realistically, it just won’t succeed.
    • The server has been online and stable for over 2 months now, and we’re still going strong! No wipes, no shortcuts ~ just continuous work, daily fixes, events, and improvements to ensure the best possible experience.   Great News! 🔥 CHAPTER II IS COMING — GRACIA FINAL 🔥 On February 16, L2Elixir enters a new era. The server will be officially updated to Gracia Final, opening Chapter II of our journey. Expect new content, improvements, and surprises that will refresh the gameplay while keeping the classic Gracia Final spirit alive.   More challenges, more competition, and more reasons to log in.   📅 Update Date: February 16 ⚔️ Chapter II: Gracia Final This is not a reset. This is evolution.   Prepare yourselves — Chapter II begins soon.   Website: https://l2elixir.org/ Discord: https://discord.gg/5ydPHvhbxs    
    • Server owners, Top.MaxCheaters.com is now live and accepting Lineage 2 server listings. There is no voting, no rankings manipulation, and no paid advantages. Visibility is clean and equal, and early listings naturally appear at the top while the platform grows. If your server is active, it should already be listed. Submit here 👉https://Top.MaxCheaters.com This platform is part of the MaxCheaters.com network and is being built as a long-term reference point for the Lineage 2 community. — MaxCheaters.com Team
  • 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..