Cara menggunakan mysql_real_escape_string alternative pdo

// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());

// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
            mysql_real_escape_string($user),
            mysql_real_escape_string($password));
?>

Fungsi mysql real escape string pada php merupakan salah satu kegunaan function php yang dapat mencegah sql injection sehingga dapat menghambat serangan penyusup atau intruder. Dari pengertian mysql_real_escape_string() itu sendiri adalah fungsi php yang digunakan untuk memberi backslash di beberapa kode untuk ditampilkan pada halaman, namun saat menyimpan menuju sql, kode akan tetap normal tanpa ada backslash. Jadi sah saja jika mysql_real_escape_string() adalah fungsi PHP yang digunakan untuk memberi perlindungan atau mencegah Sql Injection dalam tanda kutip, terhadap karakter-karakter unik atau karakter khusus sebelum mengirim query ke mysql yang dapat membahayakan data termasuk dari serangan SQL injection.

Bagaimana cara menggunakan mysqli_real_escape_string pada php agar bekerja sesuai instruksi yang kita berikan? itu akan kita praktekan langsung. Apakah ada function pengganti fungsi mysql_real_escape_string ? mungkin saja ada untuk keperluan kode query yang lain, tapi ini tidak kita bahas pada tutorial kali ini. Fungsi mysql_real_escape_string() pada php sering kita jumpai pada METHOD pengiriman data yang akan di tampung di database. Method yang digunakan umumnya adalah method POST.

Fungsi Mysql Real Escape String Pada PHP


mysql_real_escape_string()
Cara menggunakan mysql_real_escape_string alternative pdo

Setelah mengetahui apa itu fungsi mysql real escape string pada php, selanjutnya adalah bagaimana cara menggunakan mysql_real_escape_string() pada php. Berikut adalah penjelasan code mysql_real_escape string dan penggunaan nya.

Secara umum query akan menampung data dari method POST dan disimpan dalam variabel yang berbentuk seperti berikut ini;

//Sebagai contoh username dan password didapatkan dari method $_POST
$username	=$_POST['username'];
$password	=$_POST['password'];

Akan tetapi jika menggunakan fungsi mysql_real_escape_string() maka coding akan menjadi seperti ini;

//Sebagai contoh username dan password didapatkan dari method $_POST
$username	=mysql_real_escape_string($_POST['username']);
$password	=mysql_real_escape_string($_POST['password']);

Selanjutnya tentang fungsi mysql real escape string pada php adalah bahwa kemudian bagaimana cara menggunakan mysql_real_escape_string() pada MySQLi? Ada sedikit perbedaan saja, kita harus menyisipkan code koneksi. Syntax coding nya seperti ini;

//Misalkan username dan password didapatkan dari method $_POST
$username	=mysqli_real_escape_string($koneksi, $_POST['username']);
$password	=mysqli_real_escape_string($koneksi, $_POST['password']);

Selanjutnya pada mysqli_real_escape_string() untuk penggunannya adalah seperti coding berikut ini. Lumayan lengkap;

<?php
	$koneksi	=mysqli_connect("localhost","my_user","my_password","my_db");

	//check connection
	if (mysqli_connect_errno()) {
 		echo "Failed to connect to MySQL: " . mysqli_connect_error();
	}

	$username	=mysqli_real_escape_string($koneksi, $_POST['username']);
	$password	=mysqli_real_escape_string($koneksi, $_POST['password']);

	$sql	="INSERT INTO Users (username,password) VALUES ('$username', '$password')";
	if (!mysqli_query($koneksi,$sql)) {
  		die('Error: ' . mysqli_error($koneksi));
	}
	echo "1 record added";
	mysqli_close($koneksi);
?>

Implementasi paling sederhana dengan cara klasik dan aman untuk menggunakan fungsi mysql_real_escape_string() ini sebagai pembersih masukan untuk parameter string adalah seperti berikut;

User input (attack attempt).
a' OR 'a'='a

Sanitizing input.
$param = mysql_real_escape_string($_GET['n']);

Query Yang Dihasilkan.
SELECT id FROM products WHERE name='a\' OR \'a\'=\'a'

Jika telah diamankan dengan SQL Injection, query yang dihasilkan tidak akan menghasilkan apa-apa. Menggunakan fungsi mysql_real_escape_string merupakan cara sederhana untuk mengamankan aplikasi dari serangan SQL Injection. Akan tetapi hal ini masing jauh dari, setiap kali fungsi ini digunakan untuk membersihkan data. Namun mysql_real_escape_string ini akan memperlambat server database aplikasi jika digunakan dalam bentuk besar atau banyak.

Fungsi Mysql Real Escape String Pada PHP (adsbygoogle = window.adsbygoogle || []).push({});

Sekian penjelasan dari kami tentang bagaimana cara menggunakan mysql_real_escape_string dan fungsi mysql real escape string pada php beserta pengertian nya. Untuk mendapatkan source code nya silahkan langsung copas saja melalui coding-coding di atas, jika gagal dan atau error mohon hubungi kami melalui SMS atau email atau melalui form komentar dan obrolan. Semoga dapat membantu.

Baca juga :

  • Script PHP Update Database MySQL | CRUD
  • Script Tampil Database dengan PHP MySQL | VIEW Data
  • Cara Membuat Script Login Multiuser dengan PHP dan MySQL
  • Membuat Form Input Data dengan PHP dan MySQL
  • Script PHP untuk Cari Data pada Database MySQL
  • Membuat Form dan Script Edit Data dengan PHP MySQL
  • Membuat Widget Live Chat dengan PHP MySQL

Fungsi Mysql Real Escape String Pada PHP

Tags: mysqli_real_escape_string pada php, mysql real escape string, kegunaan mysql real escape string, mysql_real_escape_string(), fungsi mysql real escape string pada php