Showing posts with label php. Show all posts
Showing posts with label php. Show all posts

Ragam cara melindungi web

09 February 2011

Keamanan web merupakan sebuah hal yang paling penting ketika kita ingin membangun sebuah web.
Ada banyak cara yang dapat digunakan untuk melindungi web kita. Dalam tutorial ini saya akan mencoba sedikit berbagi bagaimana cara melindungi web kita.

1. Pengecekan terhadap url
Biasanya masih banyak programer yang menerapkan penggunaan url seperti berikut ini :
http://www.apaajadeh.com/index.php?page=news&id=1
bentuk url seperti itu jika tidak diantisipasi dalam penggunaannya maka akan memungkinkan terjadinya SQL Injection.
Biasanya dalam melakukan SQL Injection hacker akan melakukan pengecekan terlebih dahulu dengan menambahkan tanda - atau ' pada url.
Contoh :
http://www.apaajadeh.com/index.php?page=news&id=-1
atau
http://www.apaajadeh.com/index.php?page=news&id=1'


Untuk mengatasinya ada baiknya kita melakukan pengecekan url terlebih dahulu sebelum menggunakan query sql untuk mengakses database.
Berikut contohnya :
if(substr($_GET[id],0,1) == "-" OR substr($_GET[id],-1,1) == "'")
{
echo "Anda tidak boleh menggunakan tanda - atau ' pada url";
}
else
{
//kode untuk menampilkan data
}
Pada kode tersebut diatas akan melakukan pengecekan terhadap id pada url.
substr($_GET[id],0,1) == "-" perintah ini akan mengecek apakah didepan id terdapat tanda -.
sedangkan  substr($_GET[id],-1,1) == "'" akan mengecek apakah dibelakang id terdapat tanda '.



2. Hindari pengunjung dapat mengakses folder secara langung
Terkadang kita lalai dalam memproteksi folder file web kita. Sehingga memungkinkan pengunjung dapat mengakses folder file web kita. Ini sama sekali tidak dapat dibiarkan karena dengan pengunjung dapat mengakses folder file web kita secara langsung dapat membahayakan web milik kita. Untuk mengatasi hal ini buatlah sebuah file dengan nama .htaccess pada root folder web.
Pada file tersebut tambahkanlah kode berikut :
Options All -Indexes
3. Gunakanlah permalink
Selain dapat mencegah SQL Injection penggunaan permalink juga biasanya digunakan untuk SEO.
Pembahasan mengenai cara membuat permalink akan saya bahas pada postingan tersendiri.

4. Gunakanlah captcha untuk menghalau spam
Terkadang bila web kita menyediakan fasilitas untuk memberi komentar terdahap sebuah posting akan dijumpai komentar-komentar yang berupa spam. Untuk menghalau hal ini tambahkanlah captcha pada form komentar anda. Untuk membuatnya bisa melihat tutorial saya mengenai cara membuat captcha.

5. Berikan nama unik untuk folder Admin
Memberikan nama yang mudah ditebak pada folder Admin akan memudahkan seorang hacker untuk mendapatkan nama folder Admin anda. Folder dengan nama admin, Admin, administrator, adminweb merupakan contoh-contoh nama folder yang sangat mudah ditebak. Usahakanlah menggunakan nama yang unik yang menggunakan Alphanumerik sehingga akan mempersempit jalan masuknya hacker. Contohnya adalah SuP3rM13, B4k50 atau nama-nama lain sesuai dengan keinginan anda yang terpenting adalah tidak mudah ditebak.


6. Antisipasi terhadap XSS  Attack
XSS (Cross Side Scripting) adalah suatu cara memasukan tag/skrip HTML kedalam suatu website dengan tujuan mengacaukan website. Skrip  XSS yang bisa digunakan biasanya menggunakan bahasa HTML, dan Javascript.
Adapun untuk menanggulangi serangan XSS ini dengan membuat filter untuk mengabaikan setiap tag skrip HTML dan Javascript yang diinput oleh pengunjung.
Fungsi-fungsi  dari php yang dapat digunakan untuk menangkal serangan XSS adalah :
- stripslashes -> untuk menghilangkan tanda slash pada setiap quote
- strip_tags -> untuk mengabaikan tag, baik HTML maupun tag PHP
- htmlspecialchars -> untuk mengabaikan tag HTML dan Javascript atau kode-kode khusus
- ENT_QOUTES -> biasanya digunakan bersamaan dengan htmlspecialchars yang merupakan kode untuk mengkonversi tanda petik ganda/tunggal secara bersamaan.
Contoh penggunaan :
function anti_xss($d)
{
$f = stripslashes(strip_tags(htmlspecialchars($d,ENT_QOUTES)));
return $f;
}

$nama = anti_xss($_POST[txtnama]);
$isi = anti_xss($_POST[txtisi]);
7. Proteksi halaman login
Halaman login juga menjadi salah satu bagian dari web yang sering mendapat serangan dari hacker.
Aktifitas SQL Injection juga banyak terjadi disini.
Usahakan gunakanlah fungsi dari php yang bernama mysql_real_escape_string pada file yang digunakan untuk aksi dari form login anda.
Contoh saya mempunyai 2 file, file form loginnya adalah frmlogin.php dan file aksinya adalah cek_login.php.
Pada file cek_login.php terapkanlah script berikut :
function anti_sql_injection($data)
{
$filter = mysql_real_escape_string($data);
return $filter;
}
 
$username = anti_sql_injection($_POST[txtusername]);
$pass = anti_sql_ijection(md5($_POST[txtpass]));

if(!ctype_alnum($username) OR !ctype_alnum($pass))
{
echo "Ga bisa di injeksi";
}
else
{
echo "Login berhasil";
}
Ok semoga tutorial ini berguna..
Kalo ada kesalah harap maklum saya hanyalah seorang newbie m(_ _)m
CMIIW...
READ MORE - Ragam cara melindungi web

Mengatasi bugs pada file content.php pada cms lokomedia v1

07 September 2010

Pada postingan saya yang sebelumnya dengan judul Bugs pada cms lokomedia versi 1 dijelaskan bahwa CMS Lokomedia memiliki bugs yang dapat mengakibatkan seorang yang belum login dapat masuk kehalaman admin.

Bugs ini penyebabnya adalah tidak digunakannya session pada pemanggilan file content.php sehingga siapapun dapat mengaksesnya sebagai seorang administrator/user.

Nah untuk dapat mengatasi bugs pada cms lokomedia cukup mudah anda hanya perlu menambahkan beberapa baris script pada file content.php
Pertama-tama carilah script berikut ini :
if ($_GET[module]=='home'){
Sebelum script tersebut tambahkanlah script berikut ini :
if($_SESSION[leveluser]=="admin")

{
Berikutnya carilah scrit berikut ini :
else{

echo "<p><b>MODUL BELUM ADA</b></p>";

}
Setelah script tersebut, tambahkanlah script berikut ini :
}
else
{
echo "<center><b>Anda Tidak Dapat Mengakses Halaman Ini</b></center>";
}
Nantinya secara keseluruhan script anda akan menjadi seperti ini :

<?php
  include "../config/koneksi.php";
  include "../config/library.php";
  include "../config/fungsi_indotgl.php";
  include "../config/fungsi_combobox.php";
  include "../config/class_paging.php";

if($_SESSION[leveluser]=="admin")
  {
  // Bagian Home
  if ($_GET[module]=='home'){
  echo "<h2>Selamat Datang</h2>
  <p>Hai <b>$_SESSION[namauser]</b>, silahkan klik menu pilihan yang berada
  di sebelah kiri untuk mengelola content website. </p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p align=right>Login Hari ini: ";
  echo tgl_indo(date("Y m d"));
  echo " | ";
  echo date("H:i:s");
  echo "</p>";
  }

// Bagian Profil Lembaga
  elseif ($_GET[module]=='profil'){
  $sql  = mysql_query("SELECT * FROM modul WHERE id_modul='11'");
  $r    = mysql_fetch_array($sql);

echo "<h2>Profil Lembaga</h2>
  <form method=POST enctype='multipart/form-data' action=aksi.php?module=profil&act=update>
  <input type=hidden name=id value=$r[id_modul]>
  <table>
  <tr><td><img src=foto_berita/$r[gambar]></td></tr>
  <tr><td>Ganti Foto : <input type=file size=30 name=fupload></td></tr>
  <tr><td><textarea name=isi cols=94 rows=30>$r[static_content]</textarea></td></tr>
  <tr><td><input type=submit value=Update></td></tr>
  </form></table>";
  }

// Bagian User
  elseif ($_GET[module]=='user'){
  include "modul/mod_user.php";
  }

// Bagian Modul
  elseif ($_GET[module]=='modul'){
  include "modul/mod_modul.php";
  }

// Bagian Agenda
  elseif ($_GET[module]=='agenda'){
  include "modul/mod_agenda.php";
  }

// Bagian Berita
  elseif ($_GET[module]=='berita'){
  include "modul/mod_berita.php";
  }

// Bagian Pengumuman
  elseif ($_GET[module]=='pengumuman'){
  include "modul/mod_pengumuman.php";
  }


// Bagian Banner
  elseif ($_GET[module]=='banner'){
  include "modul/mod_banner.php";
  }

// Bagian Hubungi Kami
  elseif ($_GET[module]=='hubungi'){
  include "modul/mod_hubungi.php";
  }

// Apabila modul tidak ditemukan
  else{
  echo "<p><b>MODUL BELUM ADA</b></p>";
  }
  }
  else
  {
  echo "<center><b>Anda Tidak Dapat Mengakses Halaman Ini</b></center>";
  }
  ?>

Dengan menggunakan script diatas yang bisa mengakses file content.php adalah hanya administrator saja. bagaimana jika anda ingin membuat jika modul bisa diakses oleh administrator dan user ?
Tinggal rubah scriptnya menjadi seperti berikut ini :

<?php
  include "../config/koneksi.php";
  include "../config/library.php";
  include "../config/fungsi_indotgl.php";
  include "../config/fungsi_combobox.php";
  include "../config/class_paging.php";

// Bagian Home
  if ($_GET[module]=='home'){
  if($_SESSION[leveluser]=="admin" OR $_SESSION[leveluser]=="user")
  {
  echo "<h2>Selamat Datang</h2>
  <p>Hai <b>$_SESSION[namauser]</b>, silahkan klik menu pilihan yang berada
  di sebelah kiri untuk mengelola content website. </p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p align=right>Login Hari ini: ";
  echo tgl_indo(date("Y m d"));
  echo " | ";
  echo date("H:i:s");
  echo "</p>";
  }
  else
  {
  echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
  }
  }

// Bagian Profil Lembaga
  elseif ($_GET[module]=='profil'){
  if($_SESSION[leveluser]=="admin")
  {
  $sql  = mysql_query("SELECT * FROM modul WHERE id_modul='11'");
  $r    = mysql_fetch_array($sql);

echo "<h2>Profil Lembaga</h2>
  <form method=POST enctype='multipart/form-data' action=aksi.php?module=profil&act=update>
  <input type=hidden name=id value=$r[id_modul]>
  <table>
  <tr><td><img src=foto_berita/$r[gambar]></td></tr>
  <tr><td>Ganti Foto : <input type=file size=30 name=fupload></td></tr>
  <tr><td><textarea name=isi cols=94 rows=30>$r[static_content]</textarea></td></tr>
  <tr><td><input type=submit value=Update></td></tr>
  </form></table>";
  }
  else
  {
  echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
  }
  }

// Bagian User
  elseif ($_GET[module]=='user'){
  if($_SESSION[leveluser]=="admin")
  {
  include "modul/mod_user.php";
  }
  else
  {
  echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
  }
  }

// Bagian Modul
  elseif ($_GET[module]=='modul'){
  if($_SESSION[leveluser]=="admin")
  {
  include "modul/mod_modul.php";
  }
  else
  {
  echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
  }
  }

// Bagian Agenda
  elseif ($_GET[module]=='agenda'){
  if($_SESSION[leveluser]=="admin" OR $_SESSION[leveluser]=="user")
  {
  include "modul/mod_agenda.php";
  }
  else
  {
  echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
  }
  }

// Bagian Berita
  elseif ($_GET[module]=='berita'){
  if($_SESSION[leveluser]=="admin" OR $_SESSION[leveluser]=="user")
  {
  include "modul/mod_berita.php";
  }
  else
  {
  echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
  }
  }

// Bagian Pengumuman
  elseif ($_GET[module]=='pengumuman'){
  if($_SESSION[leveluser]=="admin")
  {
  include "modul/mod_pengumuman.php";
  }
  else
  {
  echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
  }
  }


// Bagian Banner
  elseif ($_GET[module]=='banner'){
  if($_SESSION[leveluser]=="admin")
  {
  include "modul/mod_banner.php";
  }
  else
  {
  echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
  }
  }

// Bagian Hubungi Kami
  elseif ($_GET[module]=='hubungi'){
  if($_SESSION[leveluser]=="admin")
  {
  include "modul/mod_hubungi.php";
  }
  else
  {
  echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
  }
  }

// Apabila modul tidak ditemukan
  else{
  echo "<p><b>MODUL BELUM ADA</b></p>";
  }
  ?>

Nah setelah anda ubah script pada file content.php cobalah akses kembali web dengan memanggil URLnya seperti berikut :

http://www.apaajadeh.com/admin/content.php?module=home

Hasilnya akan tampak seperti berikut ini :


Selamat mencoba..
READ MORE - Mengatasi bugs pada file content.php pada cms lokomedia v1

Membuat captcha dengan php

26 April 2010

Membuat captcha dengan php merupakan tutorial yang menjelaskan bagaimana cara membuat captcha atau security image dengan menggunakan php.
Adapun captcha sendiri menurut wikipedia adalah:
CAPTCHA atau Captcha adalah suatu bentuk uji tantangan-tanggapan (challange-response test) yang digunakan dalam perkomputeran untuk memastikan bahwa jawaban tidak dihasilkan oleh suatu komputer. Proses ini biasanya melibatkan suatu komputer (server) yang meminta seorang pengguna untuk menyelesaikan suatu uji sederhana yang dapat dihasilkan dan dinilai oleh komputer tersebut.


CAPTCHA. (2010, Maret 15). Wikipedia, . Diakses pada 14:45, Maret 25, 2010 dari http://id.wikipedia.org/w/index.php?title=CAPTCHA&oldid=2986211.

 Untuk membuatnya terlebih dahulu pastikan pada server anda GD Library sudah terinstall. untuk mengeceknya buatlah script berikut ini menggunakan editor web yang anda miliki kemudian simpanlah diroot folder server anda dengan nama phpinfo.php:
<!--phpinfo.php-->
<?
phpinfo();
?>
Melalui brower anda akseslah file tersebut. Jika PHP GD Library sudah terinstall maka akan terlihat setting PHP GD seperti gambar dibawah ini :


Jika PHP GD belum terinstall maka kunjungilah link berikut ini untuk mengetahui cara menginstallnya :
http://id2.php.net/manual/en/book.image.php

Langkah berikutnya adalah membuat sebuah gambar background dengan tipe *.jpg dengan ukuran yang anda bisa tentukan sendiri namun disini saya menggunakan ukuran 60x30px. contoh gambarnya seperti berikut ini :


setelah itu bukalah kembali web editor yang anda miliki dan buatlah sebuah file baru dengan nama captcha.php dan ketikanlah script kode berikut ini :
<?php
//captcha.php


session_start();
$alphaNumeric  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$random = substr(str_shuffle($alphaNumeric), 0, 5);
$image = imagecreatefromjpeg("captchabg.jpg"); //lokasi file gambar
$textColor = imagecolorallocate ($image, 0, 0, 0); //black
imagestring ($image, 5, 5, 8,  $random, $textColor);
$_SESSION['image_random_value'] = md5($random);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Content-type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
?>

 buatlah lagi sebuah file baru dengan nama form.php dan ketikan script kode berikut ini :
<form name="form1" method="post" action="">
<img src="captcha.php?date=<?php echo date('YmdHis');?>" alt="security image" />
<div>
Input Text Above: <input type="text" name="pin" />
<input type="submit" name="submit" value="Submit" />
</div>
</form>
<?php
if($_POST['submit']){
session_start();
if(md5($_POST['pin']) == $_SESSION['image_random_value']){
echo '<p>Captcha Benar</p>';
}else{
echo '<p>Captcha Salah</pa>';
}
}?>
Jalankan script form.php melalui webbrowser anda dan akan tampil seperti gambar berikut ini :

Kemudian coba anda input nilai yang berasal dari gambar captcha dan lihatlah hasilnya..
Selamat mencoba
READ MORE - Membuat captcha dengan php

Membuat Site Info Panel dengan PHP

09 April 2010

Jika sebelumnya saya pernah menulis mengenai cara menambahkan site info panel pada cms php-fusion maka kali ini saya akan menuliskan bagaimana membuat site info panel pada website menggunakan PHP.

bukalah editor website anda semisal dreamweaver, frontpage, phpcoder atau editor website apapun yang anda miliki bila tidak ada juga bisa menggunakan notepad. kemudian ketikan atau kalau mau cepat tinggal copy paste aja code dibawah ini :

<table width="20%" border="1" align="center" cellpadding="0" cellspacing="2">
<tr>
<td width="92%">
<?php
echo "<p class='general' align='left'>
<span class='small'>";
echo "IP Address : ";
echo $_SERVER['REMOTE_ADDR'];
echo "</span>
</p>";
?>
</td>
</tr>
<tr>
<td>
<?php
echo "<p class='general' align='left'>
<span class='small'>";
echo "Proxy : ";
echo $_SERVER['HTTP_X_FORWARDED_FOR'];
echo "</span>
</p>";
?>
</td>
</tr>
<tr>
<td>
<?php
echo "<p class='general' align='left'>
<span class='small'>";
echo "Connected Via : ";
echo $_SERVER['HTTP_VIA'];
echo "</span>
</p>";
?>
</td>
</tr>
<tr>
<td>
<?php
echo "<p class='general' align='left'>
<span class='small'>";
echo "Server Software : ";
echo $_SERVER['SERVER_SOFTWARE'];
echo "</span>
</p>";
?>
</td>
</tr>
<tr>
<td>
<?php
echo "<p class='general' align='left'>
<span class='small'>";
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
echo "Hostname : ";
if ($host === $_SERVER['REMOTE_ADDR']) {
echo 'Could not resolve your host';
} else {
echo $host;
}
echo "</span>
</p>";
?>
</td>
</tr>
<tr>
<td>
<?php
echo "<p class='general' align='left'>
<span class='small'>";
echo "Port : ";
echo $_SERVER['SERVER_PORT'];
echo "</span>
</p>";
?>
</td>
</tr>
<tr>
<td>
<?php
echo "<p class='general' align='left'>
<span class='small'>";
echo "Protocol : ";
echo $_SERVER['SERVER_PROTOCOL'];
echo "</span>
</p>";
?>
</td>
</tr>
<tr>
<td>
<?php
echo "<p class='general' align='left'>
<span class='small'>";
echo "Gateway : ";
echo $_SERVER['GATEWAY_INTERFACE'];
echo "</span>
</p>";
?>
</td>
</tr>
<tr>
<td>
<?php
$u_agent = $_SERVER['HTTP_USER_AGENT'];
echo "<p class='general' align='left'>
<span class='small'>";
echo "Browser : ";
echo $u_agent, '<br>';
echo "</span>
</p>";
?>
</td>
</tr>
</table>
kode tersebut akan menghasilkan tampilan seperti ini :


tampilannya masih sangat sederhana.. silahkan anda modifikasi kode tersebut agar mendapatkan tampilan yang lebih baik untuk situs anda..
READ MORE - Membuat Site Info Panel dengan PHP

Membuat Kalendar dengan PHP

05 February 2010

Dalam tutorial kali ini saya akan berbagi mengenai cara membuat sebuah kalendar sederhana menggunakan php.
Bukalah editor website anda, anda bisa menggunakan dreamweaver, frontpage atau editor apapun yang anda miliki kemudian ketikanlah script kode php berikut ini :

<?php
$date =time () ;
$day = date('d', $date) ;
$month = date('m', $date) ;
$year = date('Y', $date) ;
$first_day = mktime(0,0,0,$month, 1, $year) ;
$title = date('F', $first_day) ;
$day_of_week = date('D', $first_day) ;

switch($day_of_week){

case "Sun": $blank = 0; break;

case "Mon": $blank = 1; break;

case "Tue": $blank = 2; break;

case "Wed": $blank = 3; break;

case "Thu": $blank = 4; break;

case "Fri": $blank = 5; break;

case "Sat": $blank = 6; break;

}

$days_in_month = cal_days_in_month(0, $month, $year) ;

echo "<table border=1 width=294>";

echo "<tr><th colspan=7> $title $year </th></tr>";

echo "<tr><td width=42>S</td><td width=42>M</td><td width=42>T</td><td width=42>W</td><td width=42>T</td><td width=42>F</td><td width=42>S</td></tr>";

$day_count = 1;

echo "<tr>";

while ( $blank > 0 )
{
echo "<td></td>";
$blank = $blank-1;
$day_count++;
}

$day_num = 1;
while ( $day_num <= $days_in_month )
{
echo "<td> $day_num </td>";
$day_num++;
$day_count++;
if ($day_count > 7)
{
echo "</tr><tr>";
$day_count = 1;
}
}

while ( $day_count >1 && $day_count <=7 )
{
echo "<td> </td>";
$day_count++;
}

echo "</tr></table>";
?>

berikut ini adala tampilan hasilnya :


selamat mencoba
READ MORE - Membuat Kalendar dengan PHP

Membuat Polling Tanpa Database

Polling atau jajak pendapat merupakan sebuah cara untuk mengetahui jawaban yang paling banyak dipilih oleh sejumlah orang dari sejumlah opsi yang ada dari sebuah pertanyaan.
Sebenarnya dalam pembuatan polling pada website cukuplah mudah dengan tanpa menggunakan database sekalipun kita bisa membuat sebuah fasilitas polling pada website kita.

Untuk membuat sebuah polling tanpa database hal pertama yang harus kita lakukan adalah membuat terlebih dahulu sebuah file *.TXT menggunakan Notepad.
Didalam jendela Notepad isikan judul, jawaban, dan nilai awal polling yang anda buat. Contohnya :

Sistem Operasi Pilihan Anda? + Windows; Linux; Machintos; Unix + 0;0;0;0;

Simpan file tersebut dengan nama polling.txt
Kemudian masih menggunakan Notepad / anda bisa juga menggunakan Dreamweaver buatlah sebuah file php baru kemudian ketikan skrip dibawah ini untuk membuat halaman utama polling :

<?php

if(file_existx("polling.txt")) {

echo "<form method=post action=\"polling1.php\">";

$file =fopen("polling.txt", 'r');

$poll = fgets($file,4000);

fclose($file);

$data = explode("+",$poll);

echo $data[0]."<br>";

$pilihan = explode(";",$data[1]);

for($i = 0;$i < count($pilihan);$i++){

if($i == 0){

echo "<input type=radio name pil

value=$i checked>$pilihan[$i]<br>";

} else {

echo "<input type=radio name=pil

value=$i>$pilihan[$i]<br>";

}

}

echo "<input type=submit value=Vote>";

echo "</form>";

} else {

echo "Tidak ada polling";

}

?>
Simpanlah file tersebut dengan nama polling.php
Kemudian buatlah kembali sebuah file *.php yang berfungsi untuk melakukan proses penyimpanan data polling, berikut skripnya :

<?php

session_start();

if(file_exists("polling.txt")) {

$file = fopen("polling.txt",'r');

$poll = fgets($file,4000);

fclose($file);



$data = explode("+",$poll);

$pilihan = explode(";",$data[1]);

$counter = explode(";",$data[2]);



if(!$_SESSION['status']) {

$_SESSION['status']="pilih";

$counter[$pil]++;

$file = fopen("polling.txt",'w');

$poll = $data[0]."+".$data[1]."+";

for($i = 0;$i < count($pilihan);$i++) {

$poll .= $counter[$i].";";

}

fputs($file,$poll);

fclose($file);

}



echo $data[0],"<br>Pilihan anda $pilihan[$pil]<br>";

for($i = 0;$i < count($pilihan); $i++){

$jml=$jml+$counter[$i];

}

echo "<table>

<tr>

<th>Jawaban</th>

<th>Persentase</th>

<th></th>

</tr>";

for($i = 0;$i < count($pilihan); $i++){

if($jml==0){

$j=1;

} else {

$j=$jml;

}

$hasil_vote=sprintf("%01.1f",

(($counter[$i]/$j)*100));

echo "<tr>

<td>$pilihan[$i]</td>

<td>

<table>

<tr>

<td bgcolor=\"$pilihan[$i]\"

width=$hasil_vote>Â </td>

</tr>

</table>

</td>

<td>$hasil_vote %</td>

<td align=center>$counter[$i]</td>

</tr>";

}

}

?>
Simpanlah file tersebut dengan nama polling1.php
Yupz... selesai sudah... anda tinggal letakan file tersebut di localhost kemudian jalankan melalui browser anda.
Selamat mencoba...
READ MORE - Membuat Polling Tanpa Database

Membuat RSS 2.0

RSS atau really simple syndication merupakan sebuah dokumen XML yang dibangun sedemikian rupa yang akan menampilkan daftar dari sekumpulan data dan biasanya merupakan data yang terbaru, sehingga pengunjung lebih mudah untuk melihat perubahan data.

Ketika RSS dipanggil (direquest), maka akan mengembalikan dokumen XML berisi daftar data terbaru, yang nantinya di-parsing sama RSS client, dan ditampilkan pada client. Cara ini lebih mudah dan murah, karena user dapat memilih mana saja yang ingin dibaca lebih lanjut.

Dalam artikel ini akan dibahas cara membuat fitur RSS yang sederhana -banget- pada website kita. Pakai PHP tentu saja

Langkah pertama, yakinkan diri anda bahwa dokumen RSS adalah bertipe XML, jadi sedikit banyak anda mesti tau apa itu XML dan aturan mainnya.

Karena bertipe XML, output dari webserver ke client mesti menandakan hal tersebut. Banyak cara untuk itu, misalnya pake AddType pada konfigurasi Apache atau .htaccess, tapi dalam hal ini, kita gunakan fungsi Header.

Pada awal script, tuliskan seperti ini:

<?php
Header("Content-Type: text/xml");
echo '<rss version="2.0">
<channel>
<title>GnouBdilS Personal Website</title>
<link>http://www.gnoubdils.com/</link>
<description>10 Berita dan Artikel terbaru</description>
<language>en-us</language>
<pubDate>'.Date("r").'</pubDate>
<lastBuildDate>'.Date("r").'</lastBuildDate>
<generator>GnouBdilS Personal Website RSS Generator</generator>
<managingEditor>gnoubdils@gmail.com (GnouBdilS)</managingEditor>
<webMaster>gnoubdils@gmail.com (GnouBdilS)</webMaster>
';
Pada field tanggal mesti pake format RFC-822. Oleh karena itu script di atas menggunakan fungsi Date("r"), yang akan menghasilkan nilai tanggal dan jam dalam format RFC-822.
Selanjutnya, menampilkan data RSS:

$rc = mysql_query('select *,UNIX_TIMESTAMP(tanggal)
AS pubDate from berita order by tanggal desc limit 0,10');
while ($r = mysql_fetch_array($rc))
{
$id = $r['id'];
$judul = htmlentities(strip_tags($r['judul']), ENT_QUOTES);
$keterangan = htmlentities(strip_tags($r['keterangan']), ENT_QUOTES);
$pubDate = strftime("%a, %d %b %Y %T %Z",$r['pubDate']);
echo "<item>";
echo "<title>$judul</title>";
echo "<link>berita.php?id=$id</link>";
echo "<description>$keterangan</description>";
echo "<pubDate>$pubDate</pubDate>";
echo "</item>";
}
echo "</channel></rss>";
?>

Karena isi RSS cuma daftar dokumen terbaru, mestinya yang ditampilkan cuma record terbaru saja (biasanya per tanggal). Disini digunakan LIMIT 0, 10, yaitu 10 record terbaru.

Untuk meyakinkan bahwa format RSS anda benar, silakan masukkan RSS anda ke :

Feed Validator

Untuk lebih jelas mengenai rss silahkan klik Disini
READ MORE - Membuat RSS 2.0

Apa itu php

26 June 2009

PHP singkatan dari PHP Hypertext Preprocessor yaitu bahasa pemrograman web server-side yang bersifat open source. PHP merupakan script yang menyatu dengan HTML dan berada pada server (server side HTML embedded scripting). Sebagai dasar perintahnya berasal dari C, Java dan Perl dengan beberapa tambahan fungsi khusus PHP. PHP adalah script yang digunakan untuk membuat halaman web yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru/up to date. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan.


A. Sejarah PHP
Dilihat dari perkembangannya, bahasa pemrograman ini memiliki perkembangan yang sangat cepat berikut merupakan tahap perkembangan bahasa PHP :

1. PHP/FI
Ini merupakan cikal bakal PHP yang sekarang. Pertama dibuat oleh Rasmus Lerdorf pada 1995, pada awalnya dia menamakan script ini “Personal Home Page Tool” yang merupakan bahasa sederhana dari bahasa pemrograman C dimana Personal Home Page Tool ini dapat berkomunikasi dengan database dan bersipat Open Source. Pada awalnya Rasmus membuat bahasa pemrograman ini bertujuan untuk menyimpan data pengunjung yang melihat biodata pada web sitenya. Perkembangannya, pada pertengahan tahun 1997 pemakai bahasa bahasa PHP semakin banyak, terlihat dari jumlah statistik domain yang menggunkan PHP hampir lebih dari 50.000 web site. Kemudian karena perkembangannya yang sangat pesat, Rasmus mengembangkan bahasa pemrograman ini, dan pada bulan November tahun 1997 muncul PHP/FI versi 2.0 yang merupakan cikal bakal PHP 3.

2. PHP Versi 3
PHP Versi 3 merupakan versi penyempurna dari bugs-bugs pada PHP/FI versi 1.0 dan PHP/FI versi 2.0. PHP Versi 3 ini dikembangkan oleh Andi Gutmans and Zeev Suraski pada tahun 1997 yang berhasil ditulis secara sempurna pada waktu itu. Fasilitas tambahan PHP Versi 3 dibandingkan versi sebelumnya, selain tambahan fungsi-fumgsi baru, juga mendukung beberapa akses ke banyak database, pengelolaan protokol, dan API. Dari versi 3 lah singkatan PHP muncul, yaitu PHP: Hypertext Preprocessor, dan pada tahun 1998 hampir 10% web site di dunia menggunakan PHP sebagai web servernya.

3. PHP Versi 4
Pada musim dingin di tahun 1998, menulis ulang bahasa pemrograman PHP ini untuk membuat ketangguhan bahasa pemrograman ini. Akhirnya pada pertengahan tahun 1999 diperkenalkanlah PHP versi 4.0 yang menggunakan script engine Zend untuk meningkatkan penampilan (performance) dan mempunyai dukungan yang sangat banyak terhadap ekstensi dan berbagai library beserta modul. PHP versi 4.0 ini juga mempunyai keunggulan dibandingkan versi-versi sebelumnya, diantaranya mendukung ke beberapa web server, fasilitas HTTP session, output buffer dan sistem keamanan. Pada perkembangannya, pada saat itu hampir 20% web server menggunakan bahasa pemrograman PHP sebagai interpreternya.

4. PHP Versi 5
Pada bulan Juli tahun 2004 muncul PHP versi 5.0 yang menggunakan Zend Engine 2.0 dengan penambahan beberapa feature dan beberapa objek baru. PHP Versi 5 ini sangat mendukung pemrograman berbasis Object Oriented Programming (OOP).


B. Kelebihan PHP
PHP membuat proses pengembangan aplikasi menjadi mudah kaena kelebihan-kelebihannya yaitu :
1. Script (kode program) terintegrasi dengan file HTML, sehingga developer bisa berkonsentrasi langsung pada penampilan dokumennya
2. Tidak ada proses compiling dan linking
3. Berorientasi objek (Object Oriented)
4. Sintaks pemrogramannya mudah dipelajari, sangat menyerupai C dan Perl
5. Integrasi yang sangat luas ke berbagai server database. Menulis web yang terhubung ke database menjadi sangat sederhana. Database yang di dukung oleh PHP : Oracle, Cybase, mSQL, MySql, Solid, ODBC, PostgreSQL, Adabas D, Filepro, VElods, Informix, dBase, UNIXdbm.

Sumber : Wikipedia

http://gnoubdils.blogspot.com/
READ MORE - Apa itu php

Memeriksa Input User

Dalam upaya mengantisipasi segala kemungkinan yang dapat menimbulkan tindakan yang negatif, adalah tugas anda untuk menyediakan program yang baik. Sebagai contoh, ketika Anda memiliki field yang hanya boleh diisi dengan angka, Anda harus memastikan bahwa input selain angka akan ditolak karena tidak valid.

Solusi yang digunakan untuk memeriksa input user ini yaitu dengan menggunakanfungsi-fungsi PHP yang sudah tersedia, yaitu fungsi untuk menangani variable dan tipe karakter.

berikut contoh scriptnya :

//casting tipe data nilai

$id = (int) trim($_POST['id']);

$nama = (string) trim($_POST['nama']);

//variable untuk flag/mark

$_i = false;

$_n = false;


//jika tidak kosong, dan berupa angka

if (!empty($id) && id_numeric($id)) {

$_i = true;

} else {

echo ‘ID harus angka [0-9] <br>’;

}


//jika tidak kosong dan berupa huruf

if (!empty($nama) && ctype_alpha($nama)) {

$_n = true;

} else {

echo ‘Nama harus huruf [a-z] [A-Z] <br>’;

}


//id dan nama sudah sesuai (OK)

if ($_i && $_n) {

echo ‘ID anda = ‘ .$id. ‘<br>’;

echo ‘Nama anda = ‘.$nama;

} else {

echo ‘Maaf…. Data belum kami proses…’;

}

semoga bermanfaat…
READ MORE - Memeriksa Input User

Membuat Form Smillies

Anda tentu tidak asing dengan smillies icon, bahkan mungkin sering menggunakannya ketika sedang chating. Garis besar cara kerja form smillies adalah mereplace karakter-karakter khusus dengan icon yang sesuai.

Solusi yang mudah untuk membuat form smillies adalah dengan mengimplementasikan array, kemudian memanfaatkan fungsi str_replace() yang sudah disediakan oleh PHP. Untuk menghindari ketidak sesuaian karakter dan icon, anda harus mendefinisikan terlebih dahulu karakter dan icon yang akan digunakan.

Baiklah sekarang anda siapkan terlebih dahulu icon-icon yang anda inginkan anda bisa membuatnya dengan menggunakan software pengolah gambar seperti photoshop atau jika anda tidak ingin dipusingkan oleh hal tersebut anda bisa mencari icon yang anda inginkan di google atau darimanapun. contoh disini saya mempunyai 7buah icon yaitu :
- smile.gif
- sad.gif
- biggrin.gif
- wink.gif
- question.gif
- cool.gif
- idea.gif

jika icon sudah disiapkan kita berlanjut ke kode… berikut kode script PHPnya :


<?php

$sm=array(

‘:smile:’ => “<img src=’img/smile.gif’ border=0/>”,

‘:sad:’ => “<img src=’img/sad.gif’ boder=0/>”,

‘:biggrin:’ => “<img src=’img/biggrin.gif’ border=0/>”,

‘:wink:’ => “<img src=’img/wink.gif’ border=0/>”,

‘:question:’ => “<img src=’img/question.gif’ border=0/>”,

‘:cool:’ => “<img src=’img/cool.gif’ border=0/>”,

‘:idea:’ => “<img src=’img/idea.gif’ boder=0/>” );

?>



<SCRIPT LANGUAGE=’JavaScript’>

<–! function setIkon(ikon) {

document.post.msg.value =

document.post.msg.value + ikon;

} //–>

</SCRIPT>



Click to add smiley

<?php // menggenerate link ikon

foreach ($sm as $key => $val) { ?>

<a href=”javascript:setIkon(’<?=$key?>’)”

title=”<?=$key?>”> <?=$val?> </a>

<?php } ?>



<form action=”<?$_SERVER['PHP_SELF'] ?>”

method=”post” name=”post” >

<textarea name=”msg” rows=”10″ cols=”40″>

</textarea><br>

<input type=submit value=”Submit” name=”submit”>

</form>



<?php

if (isset($_POST['submit'])) {

$msg = $_POST['msg'];

$msg = htmlspecialchars(trim(stripslashes($msg)));

$msg = str_replace(array_keys($sm), array_values($sm), $msg);

$msg = nl2br($msg);

echo ” Your message : <br>”.$msg;

}

?>

semoga bermanfaat….
nb : karakter seperti ‘:smile:’ bisa anda rubah sesuai yang anda inginkan.

http://gnoubdils.blogspot.com/
READ MORE - Membuat Form Smillies

Artikel Lain

 
 
 

Go To Link

  »  A1VBCode
  »  Bina Sarana Informatika
  »  Blogger
  »  Deconstruction Code
  »  Diskusiweb
  »  dremi.info
  »  Echo
  »  Facebook
  »  Gary Abraham
  »  Ilmu Website
  »  JQuery
  »  Mahesajenar Widget
  »  STMIK Nusa Mandiri
  »  OOM Blog
  »  Planet Source Code
  »  Rahma Blog
  »  Terren Jr
  »  VB-Bego
  »  Herry Blog

Advertisement