Decrypt base64 Data Di Linux

Wednesday, February 08, 2017

Bila guna bash script, dan perlu sorokkan password, boleh guna encrypt base64, kemudian decrypt balik

#!/bin/sh

username='my_username'
password='my_password'

username_encoded=$(echo -n "$username" | openssl enc -base64)
password_encoded=$(echo -n "$password" | openssl enc -base64)

username_decoded=$(echo "$username_encoded" | openssl enc -d -base64)
password_decoded=$(echo "$password_encoded" | openssl enc -d -base64)

echo "username: $username"
echo "username_encoded: $username_encoded"
echo "username_decoded: $username_decoded"
echo "password: $password"
echo "password_encoded: $password_encoded"
echo "password_decoded: $password_decoded"
Output:
username: my_username
username_encoded: bXlfdXNlcm5hbWU=
username_decoded: my_username
password: my_password
password_encoded: bXlfcGFzc3dvcmQ=
password_decoded: my_password
Bila encode, ada hantar newline. Bila decode, tak new line, tak payah guna -n pada echo.
Contoh bila nak guna. Setkan awal-awal, hasilnya, masukkan dalam script untuk di decode kan semula.
mygpis@mygpis-db:~$ echo -n "mysecpassword" | openssl enc -base64
TXlHUElTMTIz
mygpis@mygpis-db:~$ vi task.sh

#!/bin/bash

DBHOST='localhost'
DBUSRN='root'
#DBPASS='mysecpassword'#commentkan
DBNAME='mygpis'
DBPASS=$(echo "TXlHUElTMTIz" | openssl enc -d -base64)

PHP Dapatkan URL semasa

Thursday, February 02, 2017

Contoh URL: http://example.com/folder1/folder2/yourfile.php?var=blabla#12345

$_SERVER["DOCUMENT_ROOT"] === /home/user/public_html
$_SERVER["SERVER_ADDR"]   === 10.34.12.123
$_SERVER['HTTP_HOST']     === example.com (atau dengan WWW)
$_SERVER["REQUEST_URI"]   === /folder1/folder2/yourfile.php?var=blabla
__FILE__                  === /home/user/public_html/folder1/folder2/yourfile.php
basename(__FILE__)        === yourfile.php
__DIR__                   === /home/user/public_html/folder1/folder2 [sama juga: dirname(__FILE__)]
$_SERVER["QUERY_STRING"]  === var=blabla

$_SERVER["REQUEST_URI"]   === /folder1/folder2/yourfile.php?var=blabla
parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH)  === /folder1/folder2/yourfile.php 
$_SERVER["PHP_SELF"]      === /folder1/folder2/yourfile.php

//jika file "yourfile.php" tu include dalam "parentfile.php" , dan "parentfile.PHP?abc" dibuka:
$_SERVER["PHP_SELF"]       === /parentfile.php
$_SERVER["REQUEST_URI"]    === /parentfile.php?abc
$_SERVER["SCRIPT_FILENAME"]=== /home/user/public_html/parentfile.php
str_replace($_SERVER["DOCUMENT_ROOT"],'', str_replace('\\','/',__FILE__ ) )  === /folder1/folder2/yourfile.php

Jadi, nak dapatkan URL semasa secara penuh
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

Jika rasanya URL kita terlibat dengan https, sebaiknya check sekali.
$actual_link = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";