Jebakan halaman admin PHP
Mungkin kalo diperhatikan judul diatas memang agak membingungkan, tapi yang saya maksudkan disini adalah membuat sebuah konsep halaman admin untuk menjebak seorang hacker mencoba untuk menyerang site kita melalui halaman admin. Terinspirasi dari teman di sebuah forum yang memasang backdoor disebuah situs dan memproteksi backdoor tersebut menggunakan cara ini ^_^
sepintas memang tidak terlihat dengan kasat mata. intinya adalah membuat sebuah halaman 404 Not Found dan seolah olah membuat bahwa halaman tersebut memang tidak ada 👿 padahal halaman tersebut memang benar-benar halaman admin 😈
OOP dan Terstruktur
Berhubung lagi praktikum pemrograman berorientasi objek, yah sekalian aja post tentang OOP dan terstruktur. :yell:
Apa sih bedanya pemrograman yang berorientasi objek dengan pemrograman struktur?
Sesuai dengan namanya, pemrograman berorientasi objek (OOP) merupakan pemrograman yang berorientasi kepada objek-objek. Semua data dan fungsi (method) dibungkus menjadi satu kedalam class dan objek. Dalam OOP objek-lah yang lebih aktif.
Sedangkan pemrograman yang terstruktur adalah program yang menjalankan perintah-perintah nya secara berurutan. Sehingga satu dengan fungsi yang lain harus saling berhubungan. Dalam pemrograman terstruktur, programlah yang lebih aktif.
Kemudian apa bedanya pendeklarasian variabel dalam OOP dengan yang terstruktur?
Variabel dalam pemrograman terstruktur dituliskan langsung dalam programnya, sedangkan pemrograman yang berorientasi objek variabelnya disimpan dalam class-class.
Mengarang indah
Single dan Double OrderedLinkedList di java
Iseng posting tentang linkedlist java, mumpung sedang belajar itu juga di Algoritma dan Struktur Data. Itung itung menuhin blog juga ^_^
langsung aja, berikut listing programnya :
yg ini untuk file Node.java
public class Node { int data; Node next; Node prev; Node(int id){ data=id; } }
file AddtLinkedList.java
public class AddtLinkedList { static boolean kosongCek(Node head){ return (head==null); } static void tukar(Node nd1, Node nd2){ Node tmp = new Node(nd1.data); nd1.data=nd2.data; nd2.data=tmp.data; } static void tampil(Node head){ Node current=head; while(current!=null){ System.out.print(current.data+" "); current=current.next; } System.out.println(); } static void tampil(Node head, Node tail, String a){ if (a=="maju"){ Node current=head; while(current!=null){ System.out.print(current.data+" "); current=current.next; } System.out.println(); } else if (a=="mundur"){ Node current=tail; while(current!=null){ System.out.print(current.data+" "); current=current.prev; } System.out.println(); } } }
Implementasi cipher dengan PHP
Kemarin kebetulan belajar keamanan informasi tentang enkripsi, dan di ajarkan beberapa enkripsi yaitu caesar cipher dan vigenere cipher. tiba tiba terfikir ingin mencoba membuat cipher dengan PHP, berhubung saya sedang menggemari bahasa tersebut. ya alhamdulillah setelah beberapa hari akhirnya jadi juga 😀
untuk menjelaskan programnya satu persatu, mungkin akan memakan banyak waktu, jadi saya cuma copas listing programnya saja, untuk penjelasan mengenail syntaxnya banyak sekali di temukan di Google atau di W3schools.
yang pertama buat file untuk convertnya, beri nama convert.php
<?php /* * convert.php * * Copyright 2011 Ahmad Zafrullah Mardiansyah <zaf@zaf-laptop> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ function char_to_dec($a){ $i=ord($a); if ($i>=97 && $i<=122){ return ($i-96); } else if ($i>=65 && $i<=90){ return ($i-38); } else { return null; } } function dec_to_char($a){ if ($a>=1 && $a<=26){ return (chr($a+96)); } else if ($a>=27 && $a<=52){ return (chr($a+38)); } else { return null; } } function tabel_vigenere_encrypt($a, $b){ $i=$a+$b-1; if ($i>26){ $i=$i-26; } return (dec_to_char($i)); } function tabel_vigenere_decrypt($a, $b){ $i=$a-$b+1; if ($i<1){ $i=$i+26; } return (dec_to_char($i)); } ?>