Perangkat Lunak Pendidikan Indonesia

Wednesday, July 11, 2018

Gratis Download Wallpaper Desktop CDR


esNesia - Ini ada contoh desain grafis Gratis Download Wallpaper Desktop CDR , ini sudah sesuai dengan ukuran lebar wallpaper yang biasanya digunakan di desktop komputer atau laptop Anda, silahkan unduh secara free dan silahkan Anda edit sesuai keinginan Anda

Link Download di bawah ini, silahkan sedot secara cuma-cuma, nikmati kemurahan dari esnesia.com

[button-green url="https://drive.google.com/open?id=1s6W4tKCLng8vkDDZoty5Bsj_yiyCgQll" target="_blank" position="left"]Free Download Wallpaper CDR[/button-green]

Saturday, May 12, 2018

Bagaimana cara menyingkirkan program Healer Console?


Healer Console akan muncul di bagian kanan bawah layar Anda. Pengguna yang melihat program ini dan muncul akan berpikir bahwa sistem mereka terinfeksi. Sebenarnya, ini adalah satu-satunya tujuan Penyembuh Sistem - untuk memaksa pengguna agar membeli versi lengkap aplikasi ini sepenuhnya tidak berguna. Healer Consol adalah jenis mallware yang sering kita jumpai dan terinstall dalam komputer kita tanpa kita sadari, jika muncul healer console dalam komputer Anda maka jangan biarkan itu bersarang dalam PC Anda, karena dapat menggangu pemandangan saja

Bagaimana Healer Console masuk ke sistem?


Perhatikan bahwa Healer Console sering terintegrasi dengan installer dari beberapa aplikasi gratis lainnya. Anda harus berhati-hati untuk tidak membiarkan instalasi tersembunyi terjadi di sistem Anda tanpa persetujuan Anda. Selalu pilih opsi instalasi kustom (lanjutan), bukan yang standar. Tetap aman!

Bagaimana cara menghapus Healer Console?


Jika Anda mendeteksi Healer Console dan tidak ingin menyimpannya di PC Anda, maka Anda dapat mengikuti panduan penghapusan yang diberikan di bawah ini untuk menghapusnya. Anda dapat memilih metode manual untuk menghapus infeksi ini, tetapi harus diingatkan bahwa, penghapusan manual adalah tugas yang rumit dan berisiko yang hanya harus dicoba oleh pengguna tingkat lanjut. Jika Anda pengguna pemula, itu adalah pilihan yang lebih baik untuk menggunakan alat penghapusan otomatis, misalnya Trojan Killer oleh GridinSoft.
Download dan Install Healer Console Removall


Petunjuk penghapusan otomatis:



  • Scan System dengan Full Scan dengan GridinSoft Trojan Killer




  • Klik "Fix Now" pada akhir pemindaian




  • Matikan semua browser Anda.

  • Di jendela Pembunuh Trojan, klik "Tools" dan pilih "Reset browser setting":

  • Spesifikasi semua browser Anda yang ingin Anda atur ulang dengan bantuan Trojan Killer, lalu klik tombol Reset :

  • Restart Komputer Anda


Cara mencegah PC Anda terinfeksi kembali dengan Healer Console di masa depan.


GridinSoft Trojan Killer menawarkan solusi yang sangat baik yang dapat membantu mencegah sistem Anda terkontaminasi dengan malware terlebih dahulu. Fitur ini disebut sebagai "Real-Time Protection". Secara default, itu dinonaktifkan setelah Anda menginstal perangkat lunak. Untuk mengaktifkannya, silakan klik tombol "Protect" dan tekan "Start" seperti yang ditunjukkan di bawah ini:

Opsi ini membantu Anda mencegah eksekusi program jahat dan menghindari penginstalannya sebelumnya. Ketika malware tertentu mencoba menginstal dirinya ke dalam sistem Anda, GridinSoft Trojan Killer dan modul Perlindungan Real-Time akan menghentikan upaya instalasi ini sebelumnya. Anda dapat mengklik tombol “Konfirmasi” untuk terus memblokir program jahat ini, atau untuk memilih “Abaikan file ini” dan biarkan aplikasi jahat tersebut diinstal (dengan risiko Anda sendiri):

Sunday, May 6, 2018

Tips Optimasi Query SQL Biar Akses Lebih Cepat


Beberapa teknik atau tips optimasi query SQL biar akses lebih cepat yang dapat diterapkan untuk membuat sistem yang lebih baik dan lebih efisien.

Karena jika tidak dioptimasi maka jika yang diakses adalah data besar maka akan membuat program lemot karena masih menunggu aksesing query yang salangat lambat, maka dari itu sebaiknya optimalkan query SQL database Anda dengan cara-cara berikut ini :
1# Kurangi join table, gunakan partial query

Yaitu membuat query utama sesederhana mungkin supaya waktu prosesnya cepat. Jika diperlukan informasi tambahan dari tabel lain bisa digunakan query kecil untuk mengambil data tambahan tersebut.

Manfaatnya adalah supaya dapat membagi waktu proses menjadi beberapa query sehingga resources server dapat diselipi oleh request dari user lain.
2# Urutkan tabel join

Jika terpaksa dan harus menggunakan join, maka urutan penyebutan tabel yang di-join harus dimulai dari tabel yang memiliki jumlah data terbesar terlebih dahulu, baru kemudian diikuti yang datanya lebih sedikit.

Namun harus tetap diusahakan agar join tabel sedikit. Jika memungkinkan bisa dibuat partial query seperti poin 1.
3# Gunakan force index

Jika ada join tabel yang jumlahnya lebih dari 3 tabel, mungkin MySQL akan bingung menggunakan index yang mana. Jika MySQL tidak dapat menentukan index yang akan dipakai, maka MySQL akan mem-parsing semua data. Ini artinya sangat memboroskan resources server.

Jika query-nya memang harus begitu, maka kita perlu membantu MySQL menentukan index yang dipakai. Gunakan perintah force index untuk memaksa MySQL menggunakan index tertentu.

Jika index yang dimaksud belum dibuat, sebaiknya dibuat terlebih dahulu. Performa query yang menggunakan index akan sangat baik performanya.
4# Batasi jumlah data dalam query

Jika suatu tabel memiliki jumlah data yang sangat besar, sebaiknya kita tidak perlu mengambil kesemua data. Gunakan teknik pagination yang akan mengambil data per halaman. Misalnya sekali tampilan per halaman ada 10 data, maka kita hanya mengambil 10 data saja.

Teknik pagination ini telah diakomodasi dengan baik oleh MySQL dengan perintah limit. Gunakan perintah ini dengan baik.
5# Buat index

Buat index pada tabel yang sering digunakan dengan urutan tertentu atau di-group dengan acuan field tertentu. Atau jika sering di-join dengan tabel lain.

Gunakan pula tipe field yang relatif lebih cepat, misalnya gantikan tipe varchar dengan char(n) yang akan lebih cepat indexing-nya. Perhatikan pula encoding-nya. Gunakan encoding UTF-8 yang lebih cepat.
6# Gunakan library PHP terbaru (untuk Pemrograman PHP)

Pada PHP gunakan kelas mysqli_query yang lebih baru. Jangan gunakan lagi library mysql_query yang tidak lagi diteruskan pengembangannya.
7# Gunakan mysqli_fetch_assoc (untuk Pemrograman PHP)

Ternyata kita perlu memilih fungsi yang lebih efisien. Misalnya gunakan mysqli_fetch_assoc dari pada mysqli_fetch_array. Walau pun cara penggunaannya sama dan bisa digunakan untuk hasil yang sama, namun mysql_fetch_array lebih boros dalam struktur datanya.
8# Test query sebelum dipakai dalam program

Nah ini termasuk sangat penting. Kita perlu mengetest query yang kita buat sebelum digunakan dalam program. Test query bisa menggunakan phpmyadmin, tora, emma, MySQL workbench, dll. Pada utility2 ini telah tersedia fasilitas untuk mengetahui berapa waktu yang digunakan mysql untuk memproses query. Jika query membutuhkan waktu lebih dari 1 detik, maka boleh dibilang query-nya perlu dioptimasi.
9# Hindari mismatch tipe data untuk pengindeksan kolom

Kebanyakan orang menggunakan tanda kutip tunggal (dalam kondisi filter) terlepas dari tipe data yang mereka query. Hal Ini membuat oracle melakukan internal typecast ke tipe data yang dibutuhkan.















Sebelum OptimasiSetelah Optimasi
select name,age,city,state
from employee
where employee_id=’1000′;
select name,age,city,state
from employee
where employee_id=1000;
Waktu yang dibutuhkan : 2.3 secWaktu yang dibutuhkan : 0.3 sec

 
10# Hindari fungsi pada kolom yang diindeks

Biasanya, kita melakukan identifikasi kolom yang paling sering di query kemudian dibuat index pada kolom tersebut. Tapi query kita menggunakan fungsi pada kolom yang terindeks. Hal ini akhirnya akan membatalkan tujuan menciptakan indeks pada kolom tersebut.















Sebelum OptimasiSetelah Optimasi
select name,age,city
from employee
where substr(employee_name,1,3)=’kar’;
select name,age,city
from employee
where employee_name like ‘kar%’;
Waktu yang dibutuhkan : 2.8 secWaktu yang dibutuhkan : 0.3 sec

Jika kita terpaksa harus mengunakan fungsi pada query tersebut maka kita bisa membuat function based index pada kolom tersebut.
11# Menentukan kondisi pada WHERE bukan pada HAVING
















Sebelum OptimasiSetelah Optimasi
select name,
count(1)
from employee
group by name
having name=’karthi’;
select name,
count(1)
from employee
where name=’karthi’
group by name;
Waktu yang dibutuhkan = 2.2 secWaktu yang dibutuhkan = 0.3 sec

Ini bukanlah sebuah error. Jika filter dilakukan sebelum pengelompokan, maka semua data yang tidak perlu akan dikelompokkan dan akhirnya data yang dibutuhkan akan difilter. Menerapkan filter sebelum pengelompokan akan menghindari sortasi dan pengelompokkan yang tidak perlu.
12# Penggunaan join untuk mengganti inner query
















Sebelum OptimasiSetelah Optimasi
select employee_name
from employee where employee_id in ( select employee_id from defaulters)
select employee_name
from employee e,
defaulters d
where e.employee_id=d.employee_id
Waktu yang dibutuhkan : 14.1 secWaktu yang dibutuhkan : 5.5 sec

Hal ini sebenarnya dianggap sebagai praktek yang buruk pada penulisan SQL, menulis hasil inner query pada tiap-tiap baris hasil query tabel utama.















Sebelum OptimasiSetelah Optimasi
select so.documnet_number
count(1)
from activation a,
serv_ord so,
task t
where
t.documnet_number=
so.document_number
and  so.serv_item_id=a.serv_item_idgroup by so.document_number
select so.documnet_number
count(1)
from task t,
serv_ord so,
activation a,
where
t.documnet_number=
so.document_number
and  so.serv_item_id=a.serv_item_idgroup by so.document_number
Waktu yang dibutuhkan : 10 SecWaktu yang dibutuhkan : 2.1 Sec

 
13# Menentukan tabel dengan ukuran paling kecil, pada urutan terakhir pada query join.


Seperti yang kita lihat, menggunakan join menghasilkan hasil yang lebih baik daripada inner query. kita harus mengurutkan tabel sedemikian rupa sehingga tabel terkecil akan ditentukan pada akhir di SQL, sehingga waktu oracle untuk membandingkan baris akan berkurang.
14# Mengganti NOT IN dengan NOT EXISTS

Hal ini sama halnya dengan menghindari subquery















Sebelum OptimasiSetelah Optimasi
Select count(1)
from task t
where t.document_number not in (
select tt.document_number from task_bkp)
select count(1)
from task t
where not exists
(select tt.document_number from task_bkp)
Waktu yang dibutuhkan : 500 SecWaktu yang dibutuhkan : 6 Sec

 
15# Menggunkan FORALL sebagai pengganti FOR

Ini adalah salah satu fitur yang berguna, yang tersedia di oracle untuk memasukkan bulk record.















Sebelum OptimasiSetelah Optimasi
DECLARE
TYPE NumTab IS TABLE OF NUMBER(5) INDEX BY BINARY_INTEGER;
TYPE NameTab IS TABLE OF CHAR(15) INDEX BY BINARY_INTEGER;
pnums NumTab;
pnames NameTab;
BEGIN
FOR j IN 1..20000 LOOP — load index-by tables
pnums(j) := j;
pnames(j) := ‘Part No. ‘ || TO_CHAR(j);
END LOOP;
FOR i IN 1..20000 LOOP — use FOR loop
INSERT INTO parts VALUES (pnums(i), pnames(i));
END LOOP;
END;
DECLARE
TYPE NumTab IS TABLE OF NUMBER(5) INDEX BY BINARY_INTEGER;
TYPE NameTab IS TABLE OF CHAR(15) INDEX BY BINARY_INTEGER;
pnums NumTab;
pnames NameTab;
BEGIN
FOR j IN 1..20000 LOOP — load index-by tables
pnums(j) := j;
pnames(j) := ‘Part No. ‘ || TO_CHAR(j);
END LOOP;
FORALL I in 1 .. 20000 — use FORALL
INSERT INTO parts VALUES (pnums(i), pnames(i));
END;
Waktu yang dibutuhkan: 11.0 SecWaktu yang dibutuhkan: 0.5 sec

FORALL akan mengurangi waktu pengulangan pada PL/SQL dan SQL.
16# Penggunaan BULK COLLECT

BULK COLLECT adalah suatu fitur yang disediakan oleh DBMS untuk menghindari penggunaan loop dalam pengumpulan data dari table. Untuk aplikasi pengolahan data berat, BULK COLLECT akan akan sangat berguna. Sebagai contoh, kita perlu memilih 1000 baris dari tabel dan memproses baris dan masukkan ke tabel lain, maka kita dapat menggunakan BULK COLLECT.















Sebelum OptimasiSetelah Optimasi
Declare
Type bcode is table of products.barcode%TYPE;
i int;
barc bcode;
cursor cur_seq is
select barcode from products where rownum<100001;
begin
i:=0;
for cur_dta in cur_seq loop
i:=i+1;
barc:=cur_dta.barcode;
end loop;
end;
Declare
Type bcode is table of products.barcode%TYPE;
i int;
barc bcode;
begin
select barcode BULK COLLECT into barc from products where rownum<100001;
end;
Waktu yang dibutuhkan : 17secWaktu yang dibutuhkan : 1.41 sec

17# Hindari Penggunaan select * from ...

Hindari penggunaan Query select * from, sebaiknya sebutkan nama field yang akan Anda tampilkan misal select nama, gender, from .... karena dengan penyebutan field database dengan mudah mengurutkan apa yang akan ditampilkan sebailknya jika menggunakan * maka semua field dieksekusi bersamaan dan inilah yang membuat akses data melambat karena tidak ada antrian alias berdesakan.

Demikian beberapa catatan hasil pertemuan dengan seorang hacker setahun yang lalu. Tentu saja catatan ini masih bisa diperdebatkan. Atau mungkin Anda ada masukan tambahan? Semoga bermanfaat.

Monday, April 30, 2018

Cara Kirim email dengan PHP


Artikel ini akan membahas bagaimana cara bikin form kirim email dengan php, jadi sebelum mempraktikkan ini pastikan Anda sudah punya email baik email yang tersedia bebas dan gratis seperti gmail, yahoo, atau email dengan domain kamu sendiri seperti admin@namadomainkamu.com

Jika Anda ingin mengetahui bagaimana cara membuat email dengan domain sendiri silahkan baca artikel kami Mudah Bikin Email dengan Domain Sendiri

Nah kalau sudah punya email selanjutnya membuat program kirim email dengan PHP.
Form ini biasanya dibuat agar pengunjung bisa mengirim email langsung dengan format form contact (Indonesia : Hubungi Kami). contoh : Halaman Hubungi kami di situs Qorma.org (seperti tampak pada gambar ), pengunjung yang mengirim pesan lewat Form Kirim email ini akan terkirim ke email Anda, Andapun bisa membalas reply email yang masuk

Biar gak panjang lebar silahkan copy kode berikut ini di page php Anda misal sendmail.php , jangan lupa mengganti email tujuan sesuai dengan email Anda

[php]
<?php date_default_timezone_set("Asia/Bangkok");
echo date_default_timezone_get();
$email_tujuan="emailkamu@domainkamu.com"; ?>
[/php]

Selanjutnya buatlah form kirim email dengan kode berikut

[html]


<form class="form-horizontal" action="" method="post">


<div class="form-group">
<label class="col-sm-2 control-label">Email Anda</label>


<div class="col-sm-3">
<input type="text" name="from" class="form-control" placeholder="contoh : myemail@example.com" required>
</div>



<div class="col-sm-3">gunakan email yang valid</div>


</div>



<div class="form-group">
<label class="col-sm-2 control-label">Judul</label>


<div class="col-sm-5">
<input type="text" name="subject" class="form-control" placeholder="Judul Pesan" required>
</div>


</div>



<div class="form-group">
<label class="col-sm-2 control-label">Isi Pesan</label>


<div class="col-sm-5">
<textarea rows="10" cols="62" name="message" required></textarea>
</div>


</div>



<div class="form-group">
<label class="col-sm-2 control-label">&nbsp;</label>


<div class="col-sm-6">
<input type="submit" name="send" class="btn btn-sm btn-primary" value="Kirim" data-toggle="tooltip" title="Kirim pesan Anda">
</div>


</div>


</form>


<!-- /form -->
</div>


<!-- /.content -->
</div>


<!-- /.container -->
[/html]

Nah sekarang buatlah fungsi untuk pengiriman email dengan kode berikut ini

[php]

<?php
if(isset($_POST['send'])){
$email =$_POST["from"];
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo '

<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>Error! email yg Anda masukkan tidak valid.</div>


'; // maka tampilkan 'Data gagal disimpan, silahkan coba lagi.'
}else{
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
$from = $_POST['from'];
$to = $email_tujuan;
$subject = $_POST['subject'];
$message = $_POST['message'];
$headers = "From:" . $from;
mail($to,$subject,$message, $headers);
echo '

<div class="alert alert-success alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>Sukses! Pesan Anda telah terkirim.</div>


';
}}
?>
[/php]

untuk kode keseluruhan adalah sebagai berikut:

[php]

<?php date_default_timezone_set("Asia/Bangkok");
echo date_default_timezone_get();
$email_tujuan="emailkamu@domainkamu.com"; ?>


<form class="form-horizontal" action="" method="post">


<div class="form-group">
<label class="col-sm-2 control-label">Email Anda</label>


<div class="col-sm-3">
<input type="text" name="from" class="form-control" placeholder="contoh : myemail@example.com" required>
</div>




<div class="col-sm-3">gunakan email yang valid</div>


</div>




<div class="form-group">
<label class="col-sm-2 control-label">Judul</label>


<div class="col-sm-5">
<input type="text" name="subject" class="form-control" placeholder="Judul Pesan" required>
</div>


</div>




<div class="form-group">
<label class="col-sm-2 control-label">Isi Pesan</label>


<div class="col-sm-5">
<textarea rows="10" cols="62" name="message" required></textarea>
</div>


</div>







<div class="form-group">
<label class="col-sm-2 control-label">&nbsp;</label>


<div class="col-sm-6">
<input type="submit" name="send" class="btn btn-sm btn-primary" value="Kirim" data-toggle="tooltip" title="Kirim pesan Anda">
</div>


</div>


</form>


<!-- /form -->
</div>


<!-- /.content -->
</div>


<!-- /.container -->

<?php
if(isset($_POST['send'])){
$email =$_POST["from"];
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo '

<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>Error! email yg Anda masukkan tidak valid.</div>


'; // maka tampilkan 'Data gagal disimpan, silahkan coba lagi.'
}else{
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
$from = $_POST['from'];
$to = $email_tujuan;
$subject = $_POST['subject'];
$message = $_POST['message'];
$headers = "From:" . $from;
mail($to,$subject,$message, $headers);
echo '

<div class="alert alert-success alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>Sukses! Pesan Anda telah terkirim.</div>


'; // maka tampilkan 'Data gagal disimpan, silahkan coba lagi.'
}}
?>

[/php]

Silahkan simpan dan coba jalankan, kemudian coba kirim pesan lewat form yang telah Anda buat...
jika terdapat pesan "Email Anda sudah berhasil dikirimkan" berarti sukses..
Selanjutnya cek pesan masuk email Anda, gimana Keren kan?

Silahkan share melalui sosial media yang tersedia di bawah ini biar Anda mendapat pahala karena telah berbagi ilmu, dan pastinya dilarang copas

 

Sunday, April 29, 2018

Mudah Bikin Email dengan Domain Sendiri


Adalah sebuah kebanggaan juga menjadi tren memiliki email yang profesional untuk urusan bisnis, juga dapat mendongkrak TRUST atau kepercayaan pada suatu institusi usaha, baik itu individu maupun perusahaan.

Mungkin kita semua sudah tahu penyedia email gratis seperti Gmail, Yahoo Mail, Hotmail, dan lain sebagainya. yang sudah umum diketahui orang.

Namun, ternyata alamat email tidak hanya semata-mata alamat email.

Maksudnya, apakah Anda pernah memperhatikan ada beberapa perusahaan yang memiliki alamat email menggunakan nama domain perusahaan mereka?

Contoh:
admin@esnesia.com
admin@qorma.org
Bagaimana kesan yang ditimbulkan? Lebih profesional … kerren kan?

Cara Mudah Membuat Email Menggunakan Custom Domain


Sebelum melangkah ke tahapan selanjutnya, kira-kira apa saja yang dibutuhkan untuk bisa memiliki akun email seperti contoh di atas?
Domain dan Hosting.

Dua hal ini adalah syarat utama. Selain domain, Anda juga harus punya hosting. Karena dua elemen ini adalah dua hal yang tidak terpisahkan apabila kita berbicara mengenai website maupun email.
Koneksi internet yang stabil.

Proses pembuatan akun email dengan domain sendiri pastinya butuh koneksi internet donk.

 

Bagaimana cara membuat email dengan domain sendiri ?


Berikut ini adalah langkah-langkah mudah dan simple membuat email dengan domain sendiri :
Login ke CPANEL web Anda

Anda harus login ke cPanel terlebih dahulu. studi kasus ini (kami menggunakan hosting IDWebhost)
Membuat email

Setelah login ke cpanel Anda berhasil Cari bagian menu Email >> E-Mail Accounts.


kemudian lengkapi form silahkan diisi dengan e-mail yang akan dibuat. Misal Anda ingin membuat email dengan alamat admin@esnesia.com, isi dengan “admin” saja (tanpa tanda petik).
Domain : pilih opsi nama domain yang akan digunakan (jika domain yang ada pada akun hosting tersebut lebih dari satu).
Password : isi dengan password dari e-mail account yang ingin dibuat, lalu isikan lagi password yang sama pada isian “Password (Again)”.
*Password strength secara otomatis akan mengukur tingkat kesulitan password yang Anda buat. Semakin tinggi nilainya, semakin aman password Anda.
kemudian klik tombol Create Account



Akan muncul halaman berikutnya dengan keterangan “Account Created” yang artinya account email telah berhasil dibuat dan akan muncul pada list email account



Selanjutnya Anda dapat mengakses e-mail tersebut menggunakan WebMail, Thunderbird, atau Outlook, tergantung pilhan Anda.
Untuk mengakses email menggunakan webmail, silahkan akses ke http://namadomain.com/webmail, lalu masukkan alamat email yg telah dibuat (misal : admin@namadomainanda.com – harus lengkap dengan @namadomainanda.com), beserta password yang tadi Anda submit.


Setelah login berhasil maka Anda akan melihat email Anda dengan nama domain Anda sendiri, gimana keren kan?



Ya, cara ini cocok sekali bagi Anda yang ingin membuat email untuk perusahaan maupun email pribadi menggunakan domain sendiri.

Cukup mudah bukan? Tidak sampai 30 menit, jika dilakukan dengan benar.

Silahkan bagikan tips seputar email ini ke teman-teman Anda, atau share / like / tweet ke media sosial yang Anda punya supaya lebih banyak orang yang merasakan manfaatnya.

Wednesday, April 25, 2018

Hal-Hal Urgent yang Sering dilupakan Programmer


Hal-hal urgent di bawah ini adalah yang sering dilupakan oleh banyak programmer. lebih-lebih programmer pemula yang kurang memerhatikan kualitas, kalau programmer pemula biasanya yang penting tidak jalan atau nggak error.

Kenapa dikatakan urgent ? karena jika hal-hal berikut ini dilupakan atau dianggap remeh maka akan berakibat pada keamanan atau securiti dari pada program yang Sobat buat,

apa saja hal-hal yang sering dilupakan oleh banyak programmer tersebut?


# Lupa mengamankan Form Login dari serangan Login ByPass

Banyak cara hacker membobol website Anda diantaranya adalah dengan menggunakan injeksi atau login byPass pada form login admin web Anda, untuk mengetahui apakah form login Anda aman atau tidak dan bagaimana cara mengantisipasinya silahkan baca artikel kami Mengantisipasi Serangan SQL Injection pada Form Login

# Lupa mengamankan variable dari serangan SQL Injection


Selain mengamankan form login, yang perlu diperhatikan juga adalah variable id dalam program PHP yang biasanya tampil pada address bar  biasanya ada tanda ? contoh : esnesia[dot]com/artikel?id=234 dan semacamnya. untuk lebih jelasnya apa itu SQL Injection dan bagaimana cara mencegah web anda dari serangan SQL injection silahkan baca artikel kami tentang Cara Efektif Mencegah SQL Injection di PHP

# Lupa mengantisipasi inputan tanda petik tunggal


Kadang nama seseorang atau nama kota ada yang mengandung tanda petik tunggal seperti Syafi'i, Halimatus Sa'diyah, Atho' dan lain-lain, ketika pengguna menginputkan karakter yang mengandung tanda petik tunggal pada textfield dapat menyebabkan error sql, sehingga jika terjadi error maka database web anda bisa dikorek atau ditelusuri berdasarkan nama tabel atau nama database yang muncul pada pesan error tersebut, dan akhirnya dengan mudah web anda dibobol.
Maka dari itu baca saja artikel kami tentang Cara Agar PHP Bisa input Kata yang Mengandung Tanda Petik Tunggal ke Database agar lebih jelas

Saya kira cukup tiga itu saja dulu, jika sekiranya ada tambahan dari teman-teman silahkan kasih komentar di bawah..
insyaAllah akan kami update jika ada hal urgent lagi yang sering disepelekan para programmer

Mengantisipasi Serangan SQL Injection pada Form Login


Diantara hal-hal urgen yang sering dilupakan oleh para programmer pemula adalah kurang memperhatikan keamanan pada form login dan tidak mengantisipasi serangan SQL Injection pada form login admin web yang mereka buat, banyak cara hacker membobol website korban salah satunya adalah dengan cara login byPass atau SQL injection pada halaman form login.

Login byPass adalah dengan menggunakan injection nilai true misal 1=1. sekarang coba periksa web Anda, buka halaman login, pada username ketikkan admin' or 1=1 dan pada password sembarang atau samakan dengan username, jika halaman admin Anda berhasil dibuka berarti web Anda tidak aman

Dan masih banyak SQL Injection yang lain diantaranya adalah:
' or 1=1 limit 1 -- -+
' or 1=1
admin' or '1'='1'
dan lain-lain

Nah pertanyaannya adalah

Bagaimana cara mencegah serangan SQL Injection atau login byPass ?


Gampang nggak ribet kok. begini, mohon perhatikan dengan cermat ya..

Perhatikan source code ini
$pass=$_POST['password'];
$user=$_POST['username'];

$sql=mysql_query("select * from admin where password='$pass' and username='$user'");

Jika source code login Anda seperti kode di atas maka dipastikan web Anda tidak aman karena kode di atas termasuk kode yang buruk dikarenakan belum ada pengaman untuk karangkter tanda petik, titik koma, dan simbol-simbol yg lain, maka dari itu coba gunakan fungsi mysql_real_escape() atau mysql_real_escape_string() sehingga menjadi seperti berikut ini
$pass=mysql_real_escape_string($_POST['password']);
$user=mysql_real_escape_string(trim($_POST['username']));

$sql=mysql_query("select * from admin where password='$pass' and username='$user'");

Keterangan : Fungsi mysql_real_escape_string digunakan untuk mem-bypass karakter spesial dalam query SQL, sehingga jika attacker mnyertakan karakter seperti ' ! ^ ] " dan lain sebagainya, maka fungsi ini tidak akan membaca karakter tersebut.

OK bro, silahkan dicoba, semoga sukses..