nginx – Block Exploits, SQL Injections, File Injections, Spam, User Agents, Dll

image_pdfimage_print
server {
[...]

    ## Block SQL injections
    set $block_sql_injections 0;
    if ($query_string ~ "union.*select.*\(") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "union.*all.*select.*") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "concat.*\(") {
        set $block_sql_injections 1;
    }
    if ($block_sql_injections = 1) {
        return 403;
    }

    ## Block file injections
    set $block_file_injections 0;
    if ($query_string ~ "[a-zA-Z0-9_]=http://") {
        set $block_file_injections 1;
    }
    if ($query_string ~ "[a-zA-Z0-9_]=(\.\.//?)+") {
        set $block_file_injections 1;
    }
    if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") {
        set $block_file_injections 1;
    }
    if ($block_file_injections = 1) {
        return 403;
    }

    ## Block common exploits
    set $block_common_exploits 0;
    if ($query_string ~ "(<|%3C).*script.*(>|%3E)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "proc/self/environ") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "base64_(en|de)code\(.*\)") {
        set $block_common_exploits 1;
    }
    if ($block_common_exploits = 1) {
        return 403;
    }

    ## Block spam
    set $block_spam 0;
    if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") {
        set $block_spam 1;
    }
    if ($block_spam = 1) {
        return 403;
    }

    ## Block user agents
    set $block_user_agents 0;

    # Don't disable wget if you need it to run cron jobs!
    #if ($http_user_agent ~ "Wget") {
    #    set $block_user_agents 1;
    #}

    # Disable Akeeba Remote Control 2.5 and earlier
    if ($http_user_agent ~ "Indy Library") {
        set $block_user_agents 1;
    }

    # Common bandwidth hoggers and hacking tools.
    if ($http_user_agent ~ "libwww-perl") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GetRight") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GetWeb!") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Go!Zilla") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Download Demon") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Go-Ahead-Got-It") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "TurnitinBot") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GrabNet") {
        set $block_user_agents 1;
    }

    if ($block_user_agents = 1) {
        return 403;
    }
[...]
}

Hilang separuh masa bersama anakku

image_pdfimage_print

Setelah kulangkahkan kaki dari muai pagi hari hingga malam datang. Tak pernahku sadari waktu terus berjalan menjauhi hidupku. Ku hanya memikirkan bagaimana cara menyelesaikan tugasku. Waktu yang berputar membuatku menjauh dari sebuah tanggung jawab yang ku tahu hanya sebuah kewajiban.

Sebuah senyuman yang ku dapat dari buah hatiku selalu diwaktu ia terlelap. Aku selalu memperhatikan perkembanganmu disaat malam hari diwaktu kedua matamu terpejam. Kasih sayangku ku berikan saat kau baru saja tertidur pulas dan ego penuh emosi ku berikan saat aku terperanjak bangun dari tidurku karena tangismu. Aku berusaha menjauh dari dirimu masih berselimutkan lembutnya udara pagi. Lalu kapan kau bisa merasakan sepenuhnya kasih sayang dari kedua orang tuamu?

Sebuah tugas mengembalikan aku untuk menjauh dan tidak memperhatikan dirimu. Bagaimana pertumbuhanmu nak? Bagaimana keseharianmu nak? Apakah engkau cukup dengan kasih sayang yang tak bisa kau rasakan? Aku hanya bisa mencukupkan kebutuhanmu. Lalu bagimana dengan pertumbuhan jiwaku wahai orang tuaku?

Saat aku kembali bersamamu, aku tidak bisa memberikan sepenuhnya kehangatan bersamamu, tapi aku sudah letih dalam tugasku dan akan kembali terlelap untuk mengembalikan staminaku. Dan disaat kau meminta perhatianku dengan tangisanmu, aku tak membendung emosiku untuk memarahimu agar kau terdiam. Aku hanya bisa memberikan wajah kasarku saat kau membutuhkan aku. Mana kasih sayang yang kau berikan untuk buah hatimu, wahai kedua orang tuaku? Wajah penuh air mata dan isak tangis tak membuatku sadar. Entah apa yang aku lakukan? Aku hanya bisa berkata “aku sayang padamu, aku mencintaimu, aku akan mendidikmu agar kau menjadi kebahagiaan yang abadiku.”, tapi dimana kenyataannya?

Maafkan aku, anakku. Aku akan berikan waktu bersamamu, serta membangun mental dan jiwamu, agar kau bisa hadapi dunia ini dengan senyummu. Dan kau penuhi kasih sayang dariku dan cahaya wajahmu tak akan pernah pudar untuk memancarkan kebaikan hatimu.

Terima kasih senyummu, putri kecilku. Kau sudah besar tanpa aku tahu perkembangan dirimu. Aku akan selalu ada untuk mu, dan memberikan bukan hanya kasih sayangku, tapi sepenuh jiwa dan ragaku.

– Ribhy –

ODBC Mssql connection for php in linux

image_pdfimage_print
ODBC MSSQL IN Linux

Hallo pengunjung ribhy yang mungkin punya masalah yang sama dengan saya, pecinta linux dikasih project untuk membuat aplikasi mengunakan php framework tapi database MSSQL dari pecinta jendela. Oke langsung aja deeh, pertama adalah download freetds bisa mengunakan wget, proz, links, lynx 


[root@localhost]# lynx http://downloads.sourceforge.net/project/freetds/OldFiles/freetds-0.61.tar.gz

Next, uncompress, configure and make the FreeTDS driver.

[root@localhost]# tar -xvfz freetds-0.61.tgz -C /usr/local/src
[root@localhost]# cd freetds-0.61
[root@localhost]# ./configure --with-tdsver=7.0 --with-unixodbc

Gunakan sudo -s jika blm menjadi super user ( root )

[root@localhost]# make
[root@localhost]# make install
[root@localhost]# make clean

Jika udah saat testing untuk koneksi ke server

[root@localhost]# /usr/local/bin/tsql -S <mssql.servername.com> -U
<ValidUser>
Password: <password>

Jika berhasil maka akan muncul seperti dibawah ini

1>

Untuk keluar mengunakan ctrl + C

Jika belum berhasil, coba dengan telnet port 1433 sebelumnya gunakan nmap untuk memastikan mssql open port.

[root@localhost]# telnet <mssql.servername.com> 1433

dan jika bisa ditelnet

[root@localhost]# cd /usr/local/etc

From /usr/local/etc/, edit freetds.conf. At the end of this file, add an entry something like this:

[TDS]
        host = mssql.serverhost.com
        port = 1433
        tds version = 7.0
Selanjutnya adalah seting odbc connection

 

Untuk yang mengunakan redhat atau sejenisnya ada settingan odbc di system menu. Dan gunakan settingan berikut ini:

Name: TDS
Description: v0.61 with Protocol v7.0
Driver: /usr/local/lib/libtdsodbc.so
Setup: /usr/lib/libtdsS.so
FileUsage: 1

Rest dapat kosong, click checkmark kemudian klik OK

Name: MSSQLServer
Description: TDS MSSQL (description isn't important)
Servername: mssql.serverhost.com
UID: sa
PWD:
Port: 1433

Jika mengunakan ubuntu, install libmyodbc mengunakan apt-get

[root@localhost]# apt-get install libmyodbc

Kemudian edit odbc.ini

[root@localhost]# vi /etc/odbc.ini

[ODBC Data Sources]
odbcname     = MyODBC 3.51 Driver DSN

[odbcname]
Driver       = /usr/lib/odbc/libmyodbc.so
Description  = MyODBC 3.51 Driver DSN
SERVER       = my.database.server.com
PORT         =
USER         = USER
Password     = XXXXXX
Database     = DBNAME
OPTION       = 3
SOCKET       =

[Default]
Driver       = /usr/local/lib/libmyodbc3.so
Description  = MyODBC 3.51 Driver DSN
SERVER       = localhost
PORT         =
USER         = root
Password     =
Database     = test
OPTION       = 3
SOCKET       =

[TDS]
Driver       = /usr/local/lib/libtdsodbc.so 
Setup        = /usr/lib/libtdsS.so
Description  = freeTDS v0.61 with Protocol v7.0
SERVER       = localhost
PORT         = 1143
USER         = sa
Password     = password
Threading = 1
FileUsage = 1
CPTimeout =
CPReuse =


Untuk mengetest odbc bisa mengunakan

[root@localhost]# isql -v TDS sa password
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> use Northwind
0 rows affected
SQL> SELECT TOP 1 Name from Master
+-------------------------------+
| Name                          |
+-------------------------------+
| Ribhy Keren                   |
+-------------------------------+
1 rows affected
SQL> quit

Untuk PHP code saya mencoba dengan mengunakan code dibawah ini

--- begin odbc_connect.php---
<?
// Koneksi menginakan odbc_connetct
$connect = odbc_connect("TDS", "sa", "password") or die
  ("couldn't connect");
// use database
odbc_exec($connect, "use ribhy_com");
$result = odbc_exec($connect, "SELECT Name, Desc " .
        "FROM master");
while(odbc_fetch_row($result)){
  print(odbc_result($result, "Name") .
        ' ' . odbc_result($result, "Desc") . "<br>\n");
}
// get result & close koneksi
odbc_free_result($result);
odbc_close($connect);
?>
--- end odbc_connect.php --

Selamat mencoba..

Postgresql disable / enable trigger

image_pdfimage_print

DISABE / ENABLE PostgreSQL Session trigger

Untuk sementara mendisable PostgreSQL Session dengan query seperti berikut ini

Untuk mengaktifkannya kembali

DISABLE / ENABLE PostgreSQL TABLE
Untuk mengdisable postgresql table trigger tertentu:

Untuk mengaktifkan kembali:

Selamat mencoba.

Linux Terminal – Editor mengunakan vi

image_pdfimage_print

Dalam mengoperasikan sistem operasi linux dengan mengunakan terminal ada aplikasi editor yang dapat di install seperti nano, vi, mcedit, ed, dan lainnya. Disini salah satu yang digemari dan saya akan jelaskan sedikit fungsi yang terkandung didalamnya adalah vi / vim.

1. Navigasi Cursor
l , panah kanan atau spasi : untuk bergeser ke kanan 1 karakter
h atau panah kiri : untuk bergeser ke kiri 1 karakter
j atau panah bawah : untuk bergeser ke bawah 1 baris
k atau panah atas : untuk bergeser ke atas 1 baris
:0 atau 1-Shift-G : untuk berpindah ke baris pertama
:$ : untuk berpindah ke baris terakhir
nG : untuk berpindah ke baris ke n
0 : untuk berpindah Awal baris
$ : untuk berpindah Akhir baris
ctrl + F : berpindah satu layar penuh ke bawah.
ctrl + B : berpindah satu layar penuh ke atas.
ctrl + D : berpindah setengah layar ke bawah.
ctrl + U : berpindah setengah layar ke atas.
ctrl + w : berpindah satu kata ke depan.
ctrl + b : berpindah satu kata ke belakang.

2. Menghapus Text
x : digunakan untuk menghapus satu karakter pada posisi kursor
X : digunakan untuk menghapus satu karakter pada sebelah kiri posisi kursor
dw : digunakan untuk menghapus 1 kata pada posisi sebelah kanan kursor
db : digunakan untuk menghapus 1 kata pada posisi sebelah kiri kursor
dd : digunakan untuk menghapus 1 baris pada posisi kursor
d [Enter] : untuk menghapus dua baris, baris pada posisi kursor dan baris berikutnya
d0 : untuk menghapus dari awal baris sampai tepat sebelum posisi kursor
dL : untuk menghapus dari posisi kursor sampai akhir tampilan pada layar
d$ : digunakan untuk menghapus dari posisi kursor sampai akhir baris
dG : digunakan untuk menghapus dari posisi kursor sampai akhir baris pada file
d^ : Menghapus dari posisi kursor sampai awal baris dari file
3dd : Menghapus tiga baris dari posisi kursor kebawah

3. Copy dan Paste Text
yy : untuk meng-copy satu baris
yw : untuk meng-copy 1 kata pada posisi sebelah kanan kursor
yb : untuk meng-copy 1 kata pada posisi sebelah kiri kursor
y0 : untuk meng-copy dari awal baris sampai tepat sebelum posisi kursor
yL : untuk meng-copy dari posisi kursor sampai akhir tampilan pada layar
y$ : untuk meng-copy dari posisi kursor sampai akhir baris
yG : untuk meng-copy dari posisi kursor sampai akhir baris pada file
y) : untuk meng-copy dari posisi kursor ke awal kalimat
y( : untuk meng-copy dari posisi kursor ke akhir kalimat
p : untuk mempaste teks

4. Operasi Text
5dd : untuk mengcut 5 line text
:U : Untuk membatalkan perubahan
:s/search : Mencari text / karakter
:%s/pattern/replace/ : untuk mereplace text
:r nama_file : membuka files
:!ls : melist isi direktori
:sh : untuk melakukan command shell dan untuk kembali mengunakan ctrl + d
:w :digunakan untuk menulis file
:q untuk keluar

 

Vi or Vim Cheat Sheet

Vi or Vim Cheat Sheet

Google Doodle Peringatan Hari Ayah 12 November

image_pdfimage_print

screenshot-www.google.co.id 2015-11-12 08-56-42

Hari Ayah

Hari ayah jatuh pada tanggal 12 november 2012, hari ayah tidak terlalu popular dikalangan masyarakat indonesia mungkin karena sosialisasi yang kurang dan tidak diagap penting. Menurut saya hari ayah itu penting dan sama pentingnya dengan peringatan hari besar yang lain, seperti hari ibu, hari sumpah pemuda dan sebagainya. Dalam hidupan berkeluarga peran ayah tidak hanya bertugas sebagai mencari nafkah, tapi sebagai figur yang mengayomi keluarga serta memberikan kasih sayang untuk keluarganya.

Hidupku untuk 1 tahun pertamamu

image_pdfimage_print

Buah hatiku sayang…
Tepat satu tahun yang lalu kau dilahirkan..
Disaat itu aby dan ami merasakan kebahagiaan yang luar biasa,
Telah lahir buah hati aby dan ami bayi perempuan cantik…
Di hari ini genap 1 tahun usiamu..
Seutas doa aby dan ami panjatkan dihari ulang tahunmu sayang:
“Ya allah berikan selalu kesehatan untuk anakku,
jadikan anakku anak yang sholehah,
berbakti kepada orang tua,
jadikan lah anakku sebagai pandangan mataku yg selalu membahagiakanku saat kesedihan datang,
yg mengingatkan ku saat di uji kebahagiaan,
jadikanlah ia orang yang kau pilih untuk menabur kebaikan
serta menjadikan keluarga hamba keluarga bahagia.

Rosi tendang Marquez usai balapan

Rosi VS Marquez
image_pdfimage_print

Slow motion Rosi vs marquez

Menangislah, jangan tipu dirimu karena cinta sejati dihatimu..

image_pdfimage_print

“Karna saya berkeyakinan Ainun dan saya tidak dipisahkan. Dia hanya kepada dimensi yang lain dan keadaan yang lain. Tapi dia berada dengan saya, dalam hati saya.”

Habibie & Ainun

Dari prolog diatas sambil mendengarkan lagu malaikat pun tahu dari glen akan membuat hati anda tesentuh untuk mengatakan kepada pasangan bahwa kita sayang padanya. Kita tak akan pernah tahu bahwa yang disamping kita adalah psaangan terbaik yang kita sering acuhkan dan kita datangi saat kita membutuhkan. Sebelum hal yang membuat kita terpisah, maka lakukan yang terbaik untuk orang terbaik yang mendampingi kita.

Semoga kita selalu mendapatkan yang terbaik, dan mendapatkan yang terbaik namun sebelumnya lakukan yang terbaik untuk hal baik.