Gemah ripah loh jinawi tata tentrem kerta raharja, jer basuki mawa bea, ho lapis kuntul baris, rawe-rawe rantas malang-malang puntung, ing ngarso sing tulodo, ing madyo mangun karso, tut wuri handayani, ingsun titip tajug lan fakir miskin

Kemitraan

Tuesday, May 6, 2014

Koneksi ke PHP 5.3 via IIS 8.5 ke MS SQL 2000 (bagian 3 - habis)



4. Koneksi ke database MS SQL 2000
Sayangnya, berbeda dengan kompaknya PHP dan MySQL dalam paket XAMPP, WAMP dll, dimana saat koneksi antara web server dgn database server sudah sedemikian saling mengerti, sehingga programmer tidak perlu terlalu pusing dengan urusan security, kali ini kita perlu kerja extra.



Kita asumsikan potongan script PHP kita untuk koneksi ke database adalah sbb :
<?php
/* Specify the server and connection string attributes. */
$serverName = "127.0.0.1";

/* Get UID and PWD from application-specific files.  */
$connectionInfo = array( "UID"=>"sa",
                         "PWD"=>"",
                         "Database"=>"NewDB");

/* Connect using SQL Server Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn === false )
{
     echo "Unable to connect.</br>";
     die( print_r( sqlsrv_errors(), true));
}
?>

Ketika kita menggunakan IIS, maka saat terkoneksi dengan MS SQL 2000, sayangnya UID dan PWD menjadi tidak berguna. Karena dengan IIS secara default kita menggunakan Anonymous Authentication yang tidak lain dan tidak bukan, di belakang layar, adalah sebagai NT AUTHORITY\IUSR. Sehingga UID dan PWD boleh dihilangkan dari script kita.

Untuk itu sekarang kita harus membuat user baru di database MS SQL 2000, yaitu user NT AUTHORITY\IUSR yang diberikan izin dan keluasan akses ke database kita.

Gunakan SQL Server Enterprise Manager, yang merupakan paket bawaan dari MS SQL Server 2000.


Anda hanya perlu terhubung dengan database Anda, cari folder Security, cari Login dan di panel besar di sebelah kanan, klik tombol mouse sebelah kanan dan pilih New Login. Isikan seperti dibawah :


Klik tab Database Access, beri tanda cek pada database Anda dan item db_owner seperti ilustrasi di bawah :


Klik OK.

Usailah sudah urusan perizinan koneksi ke database Anda, silahkan dicoba koneksi dari script PHP Anda. Untuk best practice terkait tingkat keamanan yang lebih baik, kita bisa gunakan Authentication yang bukan anonymous, tinggal kita atur saja konfigurasinya di IIS.

Sebagai bahan referensi, silahkan kunjungi artikel SQL Server Driver for PHP: Understanding Windows Authentication.

Kiranya demikian semoga membantu.

No comments:

Post a Comment