Skip to content

Commit

Permalink
Create Account
Browse files Browse the repository at this point in the history
  • Loading branch information
prakash committed Sep 3, 2017
1 parent d1b4068 commit 0e4c01d
Show file tree
Hide file tree
Showing 6 changed files with 247 additions and 2 deletions.
16 changes: 16 additions & 0 deletions PHP/Prakash/CreateAccountServer.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions PHP/Prakash/PrintWelcomeServer.txt
Expand Up @@ -27,3 +27,4 @@
{"HTTP_HOST":"localhost","HTTP_CONNECTION":"keep-alive","HTTP_CACHE_CONTROL":"max-age=0","HTTP_UPGRADE_INSECURE_REQUESTS":"1","HTTP_USER_AGENT":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/59.0.3071.115 Safari\/537.36","HTTP_ACCEPT":"text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8","HTTP_ACCEPT_ENCODING":"gzip, deflate, br","HTTP_ACCEPT_LANGUAGE":"en-US,en;q=0.8,hi;q=0.6","HTTP_COOKIE":"SESS5e9e4a099dca4978ad16f0202aa303df=m06ichnDsAAL3IXprx07EREQFmoqtFleItb8qzJr8JI; SESS29af1facda0a866a687d5055f2fade2c=zq2s8mIBS3lxAGvQYH-LnfH5SMsvAuDUm-1HksAXewA","PATH":"\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin","SERVER_SIGNATURE":"<address>Apache\/2.4.18 (Ubuntu) Server at localhost Port 80<\/address>\n","SERVER_SOFTWARE":"Apache\/2.4.18 (Ubuntu)","SERVER_NAME":"localhost","SERVER_ADDR":"::1","SERVER_PORT":"80","REMOTE_ADDR":"::1","DOCUMENT_ROOT":"\/var\/www\/html","REQUEST_SCHEME":"http","CONTEXT_PREFIX":"","CONTEXT_DOCUMENT_ROOT":"\/var\/www\/html","SERVER_ADMIN":"webmaster@localhost","SCRIPT_FILENAME":"\/var\/www\/html\/bankservice\/print_welcome_service.php","REMOTE_PORT":"41580","GATEWAY_INTERFACE":"CGI\/1.1","SERVER_PROTOCOL":"HTTP\/1.1","REQUEST_METHOD":"GET","QUERY_STRING":"","REQUEST_URI":"\/bankservice\/print_welcome_service.php","SCRIPT_NAME":"\/bankservice\/print_welcome_service.php","PHP_SELF":"\/bankservice\/print_welcome_service.php","REQUEST_TIME_FLOAT":1504347811.031,"REQUEST_TIME":1504347811}
{"HTTP_HOST":"localhost","HTTP_CONNECTION":"keep-alive","HTTP_UPGRADE_INSECURE_REQUESTS":"1","HTTP_USER_AGENT":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/59.0.3071.115 Safari\/537.36","HTTP_ACCEPT":"text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8","HTTP_ACCEPT_ENCODING":"gzip, deflate, br","HTTP_ACCEPT_LANGUAGE":"en-US,en;q=0.8,hi;q=0.6","HTTP_COOKIE":"SESS5e9e4a099dca4978ad16f0202aa303df=m06ichnDsAAL3IXprx07EREQFmoqtFleItb8qzJr8JI; SESS29af1facda0a866a687d5055f2fade2c=zq2s8mIBS3lxAGvQYH-LnfH5SMsvAuDUm-1HksAXewA","PATH":"\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin","SERVER_SIGNATURE":"<address>Apache\/2.4.18 (Ubuntu) Server at localhost Port 80<\/address>\n","SERVER_SOFTWARE":"Apache\/2.4.18 (Ubuntu)","SERVER_NAME":"localhost","SERVER_ADDR":"::1","SERVER_PORT":"80","REMOTE_ADDR":"::1","DOCUMENT_ROOT":"\/var\/www\/html","REQUEST_SCHEME":"http","CONTEXT_PREFIX":"","CONTEXT_DOCUMENT_ROOT":"\/var\/www\/html","SERVER_ADMIN":"webmaster@localhost","SCRIPT_FILENAME":"\/var\/www\/html\/bankservice\/print_welcome_service.php","REMOTE_PORT":"41584","GATEWAY_INTERFACE":"CGI\/1.1","SERVER_PROTOCOL":"HTTP\/1.1","REQUEST_METHOD":"GET","QUERY_STRING":"token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NzcsImVtYWlsIjoicGNtaXNocmEyMkBnbWFpbC5jb20iLCJleHAiOjE1MDQzNTAzODd9.D-f8SL2qZWG5p7QAhgaaS4ljbwYm2dfFGKOJqj_RHcs","REQUEST_URI":"\/bankservice\/print_welcome_service.php?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NzcsImVtYWlsIjoicGNtaXNocmEyMkBnbWFpbC5jb20iLCJleHAiOjE1MDQzNTAzODd9.D-f8SL2qZWG5p7QAhgaaS4ljbwYm2dfFGKOJqj_RHcs","SCRIPT_NAME":"\/bankservice\/print_welcome_service.php","PHP_SELF":"\/bankservice\/print_welcome_service.php","REQUEST_TIME_FLOAT":1504347822.802,"REQUEST_TIME":1504347822}
{"HTTP_HOST":"localhost","HTTP_CONNECTION":"keep-alive","HTTP_CACHE_CONTROL":"max-age=0","HTTP_UPGRADE_INSECURE_REQUESTS":"1","HTTP_USER_AGENT":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/59.0.3071.115 Safari\/537.36","HTTP_ACCEPT":"text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8","HTTP_ACCEPT_ENCODING":"gzip, deflate, br","HTTP_ACCEPT_LANGUAGE":"en-US,en;q=0.8,hi;q=0.6","HTTP_COOKIE":"SESS5e9e4a099dca4978ad16f0202aa303df=m06ichnDsAAL3IXprx07EREQFmoqtFleItb8qzJr8JI; SESS29af1facda0a866a687d5055f2fade2c=zq2s8mIBS3lxAGvQYH-LnfH5SMsvAuDUm-1HksAXewA","PATH":"\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin","SERVER_SIGNATURE":"<address>Apache\/2.4.18 (Ubuntu) Server at localhost Port 80<\/address>\n","SERVER_SOFTWARE":"Apache\/2.4.18 (Ubuntu)","SERVER_NAME":"localhost","SERVER_ADDR":"::1","SERVER_PORT":"80","REMOTE_ADDR":"::1","DOCUMENT_ROOT":"\/var\/www\/html","REQUEST_SCHEME":"http","CONTEXT_PREFIX":"","CONTEXT_DOCUMENT_ROOT":"\/var\/www\/html","SERVER_ADMIN":"webmaster@localhost","SCRIPT_FILENAME":"\/var\/www\/html\/bankservice\/print_welcome_service.php","REMOTE_PORT":"41894","GATEWAY_INTERFACE":"CGI\/1.1","SERVER_PROTOCOL":"HTTP\/1.1","REQUEST_METHOD":"GET","QUERY_STRING":"token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NzcsImVtYWlsIjoicGNtaXNocmEyMkBnbWFpbC5jb20iLCJleHAiOjE1MDQzNTAzODd9.D-f8SL2qZWG5p7QAhgaaS4ljbwYm2dfFGKOJqj_RHcs","REQUEST_URI":"\/bankservice\/print_welcome_service.php?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NzcsImVtYWlsIjoicGNtaXNocmEyMkBnbWFpbC5jb20iLCJleHAiOjE1MDQzNTAzODd9.D-f8SL2qZWG5p7QAhgaaS4ljbwYm2dfFGKOJqj_RHcs","SCRIPT_NAME":"\/bankservice\/print_welcome_service.php","PHP_SELF":"\/bankservice\/print_welcome_service.php","REQUEST_TIME_FLOAT":1504348381.734,"REQUEST_TIME":1504348381}
{"HTTP_HOST":"localhost","HTTP_CONNECTION":"keep-alive","HTTP_CACHE_CONTROL":"max-age=0","HTTP_UPGRADE_INSECURE_REQUESTS":"1","HTTP_USER_AGENT":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/59.0.3071.115 Safari\/537.36","HTTP_ACCEPT":"text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8","HTTP_ACCEPT_ENCODING":"gzip, deflate, br","HTTP_ACCEPT_LANGUAGE":"en-US,en;q=0.8,hi;q=0.6","HTTP_COOKIE":"SESS5e9e4a099dca4978ad16f0202aa303df=m06ichnDsAAL3IXprx07EREQFmoqtFleItb8qzJr8JI; SESS29af1facda0a866a687d5055f2fade2c=zq2s8mIBS3lxAGvQYH-LnfH5SMsvAuDUm-1HksAXewA","PATH":"\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin","SERVER_SIGNATURE":"<address>Apache\/2.4.18 (Ubuntu) Server at localhost Port 80<\/address>\n","SERVER_SOFTWARE":"Apache\/2.4.18 (Ubuntu)","SERVER_NAME":"localhost","SERVER_ADDR":"::1","SERVER_PORT":"80","REMOTE_ADDR":"::1","DOCUMENT_ROOT":"\/var\/www\/html","REQUEST_SCHEME":"http","CONTEXT_PREFIX":"","CONTEXT_DOCUMENT_ROOT":"\/var\/www\/html","SERVER_ADMIN":"webmaster@localhost","SCRIPT_FILENAME":"\/var\/www\/html\/bankservice\/print_welcome_service.php","REMOTE_PORT":"44896","GATEWAY_INTERFACE":"CGI\/1.1","SERVER_PROTOCOL":"HTTP\/1.1","REQUEST_METHOD":"GET","QUERY_STRING":"token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NzcsImVtYWlsIjoicGNtaXNocmEyMkBnbWFpbC5jb20iLCJleHAiOjE1MDQzNTAzODd9.D-f8SL2qZWG5p7QAhgaaS4ljbwYm2dfFGKOJqj_RHcs","REQUEST_URI":"\/bankservice\/print_welcome_service.php?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NzcsImVtYWlsIjoicGNtaXNocmEyMkBnbWFpbC5jb20iLCJleHAiOjE1MDQzNTAzODd9.D-f8SL2qZWG5p7QAhgaaS4ljbwYm2dfFGKOJqj_RHcs","SCRIPT_NAME":"\/bankservice\/print_welcome_service.php","PHP_SELF":"\/bankservice\/print_welcome_service.php","REQUEST_TIME_FLOAT":1504352709.654,"REQUEST_TIME":1504352709}
149 changes: 149 additions & 0 deletions PHP/Prakash/create_account_service.php
@@ -0,0 +1,149 @@
<?php
/**
* Example of using the ServiceServer class
*
* Returns welcome service message
*
* @author Prakash
*/

require_once('config.php');
require_once('serverservice.php');
require_once('userservice.php');
require_once('logservice.php');
require_once('bin/access.php');

class CreateAccountServer extends ServiceServer
{
//use logger service trait
use LogService;

public $data=array();
private $auth;
//initialize constructor

public function __construct()
{
$this->data=array();
}

}

try{
//create object for print welcome

$objCreateAccountServer=new CreateAccountServer();

//log service request

$logfile=get_class($objCreateAccountServer).'.txt';
$objCreateAccountServer->logToFile($logfile,json_encode($_SERVER));

//check validity

if (!empty($_GET['token']))
{
$auth = new userAuth();
if( $auth->validToken($_GET['token']))
{
$objuserService=new userService();

//to validate user id

$uid=$_GET['uid'];
if($uid=='')
{
$data=array(
"server"=>SERVERNAME,
"status"=>"added",
"version"=>VERSION,
"message"=>"Please provide User ID. ",
"time"=>TIME
);


//return data
$objCreateAccountServer->displayJSONResult($data);
exit();

}

if($objuserService->validUserId($uid))
{
//check if user exists
if($objuserService->createUser($uid))
{

$data=array(
"server"=>SERVERNAME,
"status"=>"added",
"version"=>VERSION,
"message"=>"Account created for user ".$uid,
"time"=>TIME
);


//return data
$objCreateAccountServer->displayJSONResult($data);
}
else
{

$data=array(
"server"=>SERVERNAME,
"status"=>"success",
"version"=>VERSION,
"message"=>"Account exists already for user ".$uid,
"time"=>TIME
);
//return data
$objCreateAccountServer->displayJSONResult($data);
}
}
else
{

$data=array(
"server"=>SERVERNAME,
"status"=>"notadded",
"version"=>VERSION,
"message"=>"Account was not created for user ".$uid,
"time"=>TIME
);
//return data
$objCreateAccountServer->displayJSONResult($data);
}

}
else
{
$data=array(
"server"=>SERVERNAME,
"status"=>"notauthorised",
"version"=>VERSION,
"message"=>"Unauthorised Access ",
"time"=>TIME
);
//return data
$objCreateAccountServer->displayJSONResult($data);
}
}
else
{
$data=array(
"server"=>SERVERNAME,
"status"=>"notauthorised",
"version"=>VERSION,
"message"=>"Unauthorised Access ",
"time"=>TIME
);
//return data
$objCreateAccountServer->displayJSONResult($data);
}

}
catch(Exception $e){
echo $e->getMessage();
}

?>
5 changes: 5 additions & 0 deletions PHP/Prakash/handler.php
@@ -0,0 +1,5 @@
<?php



?>
11 changes: 9 additions & 2 deletions PHP/Prakash/serverservice.php
@@ -1,10 +1,17 @@
<?php

/**
* Example of using the ServiceServer class
*
* Returns welcome service message
*
* @author Prakash
*/
abstract class ServiceServer
{

//constructor
public function __construct(){}

//json result
public function displayJSONResult($data)
{
header('Content-type: text/plain');
Expand Down
67 changes: 67 additions & 0 deletions PHP/Prakash/userservice.php
@@ -0,0 +1,67 @@
<?php
/**
* Example of using the UserService class
*
* User service request
*
* @author Prakash
*/
class userService {

//this is the user id

private $uid;

//constructor for the user service

public function __construct()
{
//default value not set
}

//check if uid is valid

public function validUserId($uid)
{
// check for valid characters
//if (!preg_match('/[^A-Za-z0-9]/', $uid))
if (!preg_match('/[\'\/\*\<\>\?:"\|\\\]/', $uid))
{
return true;
}
else
{
return false;
}
}

//create user if user id is valid

public function createUser($uid)
{
if (!file_exists($uid))
{
mkdir($uid, 0777, true);
mkdir($uid.'/Bank', 0777, true);
mkdir($uid.'/Broke', 0777, true);
mkdir($uid.'/Counterfeit', 0777, true);
mkdir($uid.'/Export', 0777, true);
mkdir($uid.'/Fracked', 0777, true);
mkdir($uid.'/Import', 0777, true);
mkdir($uid.'/Imported', 0777, true);
mkdir($uid.'/Logs', 0777, true);
mkdir($uid.'/Lost', 0777, true);
mkdir($uid.'/Suspect', 0777, true);
mkdir($uid.'/Templates', 0777, true);
mkdir($uid.'/Trash', 0777, true);
mkdir($uid.'/Waiting', 0777, true);

return true;
}
else
{
return false;
}
}
}
?>

1 comment on commit 0e4c01d

@gerka
Copy link

@gerka gerka commented on 0e4c01d Sep 8, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻

Please sign in to comment.