Tuesday, March 14, 2017

Back Up MS SQL Server database via PHP

Mungkin berguna, untuk membuat fitur back up database dari aplikasi (databasenya sql server), dapetnya juga dari cari2 sih. Asumsi fungsi2 sqlsrv sudah jalan, driver terinstal dan query2 juga sudah bisa dieksekusi. Berikut gambaran fungsinya:
       

 function backup_database() {
 // set up koneksi
 $db_host = 'kamus123.com';
 $db_user = 'ngeSang';
 $db_pass = 'mau_tahu_aja';
 $db_name = 'nama_db';
 $path = "C:\folder_backup\";
 $nama_file_backup =  $db_name. '_' .date("Ymd_His");
 $save_path = $path . $nama_file_backup;

        $serverName = $db_host;
        $connectionInfo = array("UID"=> $db_user, "PWD" => $db_pass, "Database"=> $db_name);
        $conn = sqlsrv_connect( $serverName, $connectionInfo);
 
 // query back up
        $query = "BACKUP DATABASE ".$db_name." TO DISK = '".$save_path."'";

        sqlsrv_configure("WarningsReturnAsErrors", 0);
        if ( ($stmt = sqlsrv_query($conn, $query)) )
        {
            do
            {
                $arr_message = sqlsrv_errors();

            } while ( sqlsrv_next_result($stmt) ) ;
            sqlsrv_free_stmt($stmt);
            $message = '';
            if(is_array($arr_message)){
                $message = $arr_message[0]['message'];
            }
            echo 'Proses selesai, data backup tersimpan di : ' . $save_path;
        }
        // set error setting to default
        sqlsrv_configure("WarningsReturnAsErrors", 1);

 // jangan lupa ditutup kalau abis dibuka, ntar masuk angin
        sqlsrv_close($conn); 
}

Instalasi XAMPP + PHP 7.1 + SQL Server di Server Windows

Seminggu kemarin coba setup PHP di server baru, penginnya sih coba pakai PHP 7 yang katanya lebih jos dalam performansi. Sekalian buat nambah pengalaman dan update temen2 di tim. Biasalah, termakan jargon dan bisik2 tetangga

sumber di sini

Kebenaran, eh kebetulan disediakan server fresh dan dipersilakan setup PHP dan lain2nya sendiri, ya sudah cucok rowo. OS : Windows Server 2008 64 bit. Oke seperti biasa Apache dan PHP pake xampp aja biar cepet.

Ternyata ketemu beberapa masalah, mungkin catatan ini bisa berguna buat yang lain, mungkin juga tidak, ah mungkin saja iya (optimis).

Sunday, March 12, 2017

[Proyek] Upgrade Aplikasi

Beberapa kali mendapat proyek pengembangan sebuah aplikasi. Pengembangan ini bisa beragam alasannya, seperti:
  • Aplikasi perlu dioptimasi. Berjalan lambat saat data sudah besar / pengguna banyak.
  • Ada fitur yang perlu ditambahkan, memang biasanya muncul kebutuhan2 baru saat aplikasi sudah digunakan.
  • Perubahan aturan / bisnis proses yang memerlukan modifikasi dari aplikasi yang ada. Misal ada perubahan struktur organisasi, workflow, peraturan baru.
  • Perbaikan tampilan, layout, navigasi (GUI)

Jadi masalah kalau aplikasi dibuat sudah lama, dengan framework buatan sendiri sang developer awal dan minim(kalau sungkan menyebut tidak ada) dokumentasi teknis. Selain itu seiring berjalannya waktu, teknologi selalu berkembang seperti versi engine, framework, library dan kompabilitas. Kadang bisnis proses/tampilan sudah oke, tapi untuk menambahkan sebuah fitur dibutuhkan effort yang tinggi. Kadang ada ketergantungan pada developer awal, sialnya kalau developer awalnya hilang, tidak bisa dihubungi, sms ga diangkat, telp tidak  dibalas :).

Untuk aplikasi seperti baiknya memang ada upgrade aplikasi. Upgrade dalam artian dari sisi 'dapur'nya bukan dari sisi bisnis proses yang sudah ada. Sering jadi kendala adalah untuk pekerjaan upgrade seperti ini, apalagi jika murni hanya pembenahan dari sisi engine yang artinya tidak ada perubahan dari sisi pengguna, dirasa tidak bermanfaat dan sulit diterima. Sesuai dengan slogan "If it ain't broke, don't fix it"


Saturday, December 31, 2016

Posting tutup tahun 2016

Tidak terasa sudah di penghujung 2016. Lihat blog, tahun ini baru 9 posting. Pas lah digenapin 10 post buat tutup tahun. Banyak hal yang ingin ditulis terlewatkan karena hal lain yang lebih diprioritaskan.

Alhamdulillah banyak hal, renungan dan kerjaan yang sudah dilakukan di tahun 2016.
Semoga 2017 lebih baik lagi :), hari ini lebih baik dari hari kemarin dan hari esok lebih baik dari hari ini. Tetap semangat !! go go go !!

Keluar rumah dulu deh, kebetulan belum tidur. Liat jedar jedor kembang api pas rame2nya sama anak-anak.

Sampai jumpa



Wednesday, June 01, 2016

Hati-hati password Anda

Baru-baru ini, ya baru-baru ini bukan dulu-dulu, saya membuat account di sebuah perusahaan hosting (sebut saja namanya kumbang, hehe).

Biasalah setelah isi order, karena pengguna baru kita diminta membuat account. Kemudian seperti biasa juga kita diminta memasukkan username / alamat email dan password. Password pakai password standar yang mudah diingat dan dipakai di beberapa tempat lain. Semua seperti biasa.

Sejurus kemudian seperti biasa juga sih sebenernya, datanglah sebuah email pemberitahuan registrasi berhasil. yang tampak sebagai berikut (gambar saya edit, supaya Anda tahu saya bisa menggunakan microsoft paint):

Email Otomatis


Emailnya sih standar, pemberitahuan kita sudah registrasi, yang masalah di dalam email juga menyertakan password yang saya buat. Ini artinya password saya di dalam sistem mereka dapat dibuka / tidak di-hashed , bisa saja di dalam database berupa plaintext atau memang dienkripsi tetapi dapat didekripsi oleh aplikasi biasanya sih pakai base64_encode (terbukti di email otomatis tersebut password saya kelihatan).

Untuk seorang auditor sistem informasi yang baru2 ini sedang saya pelajari, tentunya ini menjadi the BIGGEST concern (yang sedang persiapan ujian CISA nyengir deh). 

Kasus serupa/mirip jika pada sebuah aplikasi / website ada fitur forget password dan Anda mendapatkan password lama Anda tanpa membuat password baru (misal berupa link ke halaman ubah password atau konfirmasi). Anda patut waspada dan segeralah mengganti password di situ dengan password baru yang tidak Anda gunakan di account Anda yang lain.


Yah tanpa prasangka buruk kepada pihak pemegang account, tapi jelas resiko password kita terekspos lebih besar. Waspadalah, waspadalah, mooooo .... seperti pesang bang sapi :).