Fauzian Sebastian (Zian Tech)
Menu
  • Home
  • TKJ
    • Perakitan
    • Installasi
    • Konfigurasi
    • TroubleHosting
  • Rekayasa Perangkat Lunak
    • WEB Design
    • Software Aplication
  • Multimedia
    • Animation
    • Desain Graphic
  • Trending Topic
  • Tentang Saya

Thursday, 24 October 2013

Membuat login aman dari SQL Injection

By zianovel22:59:00MySQL, SQL Server, Tutorial VB.Net No comments
Malem semua kali ini saya akan memposting tentang membuat login aman dari SQL Injection,
ya walaupun ini cara lama,mungkin ada yang belum tau :D
Secara singkat SQL injection adalah menambahkan perintah SQL Query melalui dengan tujuan untuk memodifikasi sql query yang sudah ada atau menciptakan SQL Query baru.
Sebagai contoh :
saya mempunyai SQL Query untuk login program yang saya buat dengan VB.NET seperti ini
select username,password from admin where username=' " & txt_username.text & " ' and password=' " & txt_password.text & " ' 
tapi jika pengguna program menginputkan username 'OR '1'='1 dan password 'OR '1'='1 lalu 


setelah program di jalankan maka SQL Query kita akan menjadi seperti ini :
select username,password from admin where username=' ' or '1'='1' and password=' ' or '1'='1' 
maka ini akan menghasilkan nilai TRUE, sehingga user (anonymous) berhasil login ke aplikasi yang kita buat tanpa perlu mengetahui username atau password yang sebenarnya

Tapi, ada beberapa cara yang dapat digunakan untuk mengatasi agar hal itu tidak terjadi

1. Menghilangkan karakter kutip 1 (') sebagai contoh replace(txt_username.text," ' ","")
sebagai contoh :
select username,password from admin where username=' " & Replace(txt_username.Text, " ' ", "") & " ' and password=' " & replace(txt_password.Text," ' ","") & " '
2. Membatasi MaxLength Textbox sesuai dengan Lenght Field yang ada di database dengan itu maka user tidak bisa mengisi Textbox secara bebas

cara diatas adalah beberapa cara yang dapat digunakan dari sekumpulan cara yang dapat digunakan untuk membuat login aman dari SQL Injection

cara diatas juga berlaku untuk bahasa pemrograman lain seperti PHP,C#,VB.NET dan lain - lain
kita hanya perlu menerapkan logika yang sama dengan bahasa pemrograman yang kita gunakan
sekian postingan saya malam ini semoga dapat menambah wawasan kita semua
Read More

Tuesday, 22 October 2013

Mengatasi error "String or binary data would be truncated. The statement has been terminated."

By zianovel22:04:00SQL Server 2 comments
Malam semua setelah beberapa jam yang lalu saya memposting tentang CRUD dengan VB.NET Bagian 1 kali ini saya akan memposting 
Cara mengatasi error "String or binary data would be truncated.
The statement has been terminated."

yah beberapa waktu yang lalu saya pernah mengalami mengalami error tersebut
saya sempat bingung juga kenapa bisa terjadi error tersebut,padalah script untuk insert data nya sudah benar

lalu setelah searching di google saya menemukan solusinya
ternyata error itu disebabkan karena kita menginputkan data yang karakternya melebihi dari Lenght column yang kita buat

sebagai contoh saya membuat table sebagai berikut
create table customer (
kd_customer varchar(5) not null primary key,
nama varchar(30) not null,
alamat varchar(30) not null)

lalu saya insert data dengan script sebagai berikut
insert into customer (kd_customer,nama,alamat) values ('CUS123','Dwi Randy Herdinanto','Bandar Jaya')

maka ketika dijalankan akan muncul error seperti gambar di bawah ini


kenapa terjadi error seperti gambar itu?
itu terjadi karena saya mengisi kd_customer dengan cus123 yang panjang kakternya 6, sedangkan pada column kd_customer Lenght nya hanya 5,
namun jika kita insert dengan script sebagai berikut
insert into customer (kd_customer,nama,alamat) values ('CUS12','Dwi Randy Herdinanto','Bandar Jaya')
maka ketika dijalankan akan akan berhasil disimpan seperti gambar di bawah ini

yah sekian postingan saya kali ini
semoga bermanfaat bagi yang membaca :D
Read More

CRUD dengan VB.NET bagian 1

By zianovel21:25:00Tutorial VB.Net No comments
Malam semua sebelum saya menlanjutkan postingan ini ada baiknya anda membaca cara mengkoneksikan VB.NET ke SQL Server 2008 kali ini saya akan memposting tutorial CRUD dengan VB.NET
Apa itu CRUD? CRUD singkatan dari CREATE, RENAME, UPDATE, DELETE. 
CRUD adalah operasi Create, read, update, dan delete pada database. Jadi tentu kita butuh database untuk menerapkan CRUD. sebelum memulai CRUD dengan VB.NET ada baiknya anda membaca Syntak Dasar SQL Server.
Oke langsung saja 

1. Tambahkan sebuah table ke database latihan sebagai berikut:
create table siswa
(nis varchar(10) not null primary key,
nm_siswa varchar(30) not null,
alamat varchar(50) not null,
jenis_kelamin varchar(15) not null )

2. Buka project yang kita buat sebelumnya yang bernama KoneksiKeSqlServer 

3. Setelah project berhasil dibuka lalu Klik menu Project - Add Windows Form pada kolom Name ketikan FrmCrud
CRUD dengan VB.NET bagian 1

4. lalu desain form seperti gambar dibawah ini
CRUD dengan VB.NET bagian 1

Object
Property
Value
Textbox1
Name
Txt_nis
Textbox2
Name
Txt_nama
Textbox3
Name
Txt_alamat
Combobox1
Name
Cbo_kelamin
Button1
Name
Btn_cari

Text
Cari
Button2
Name
Btn_tambah

Text
Tambah
Button3
Name
Btn_tutup

Text
Tutup
Button4
Name
Btn_simpan

Text
Simpan

5. klik 2 kali pada form data siswa lalu ketikan script di bawah ini:
Imports System.Data.SqlClient
Imports System.Xml
Public Class FrmCrud
    Sub awal()
        Txt_nis.Text = ""
        Txt_nama.Text = ""
        Txt_alamat.Text = ""
        Cbo_kelamin.Text = ""
        Cbo_kelamin.Items.Clear()
        Cbo_kelamin.Items.Add("Laki - Laki")
        Cbo_kelamin.Items.Add("Perempuan")
        Btn_tutup.Text = "Tutup"
        Btn_cari.Enabled = False
        Btn_simpan.Enabled = False
        Btn_tambah.Enabled = True
        Btn_tutup.Enabled = True
        Txt_nis.Enabled = False
        Txt_nama.Enabled = False
        Txt_alamat.Enabled = False
        Cbo_kelamin.Enabled = False
    End Sub
    Private Sub FrmCrud_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call ambilkoneksi()
        Call awal()
    End Sub

    Private Sub Btn_tambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_tambah.Click
        Txt_nis.Enabled = True
        Txt_nama.Enabled = True
        Txt_alamat.Enabled = True
        Cbo_kelamin.Enabled = True
        Btn_simpan.Enabled = True
        Btn_cari.Enabled = True
        Btn_tambah.Enabled = False
        Btn_tutup.Text = "Batal"
    End Sub

    Private Sub Btn_simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_simpan.Click
        If Txt_nis.Text = "" Or Txt_nama.Text = "" Or Txt_alamat.Text = "" Or Cbo_kelamin.Text = "" Then
            MsgBox("Data belum lengkap", MsgBoxStyle.Information, "Informasi")
        Else
            cmd = New SqlCommand("select nis from siswa where nis='" & Txt_nis.Text & "'", conn)
            rd = cmd.ExecuteReader
            rd.Read()
            If rd.HasRows Then
                MsgBox("NIS Sudah digunakan", MsgBoxStyle.Information, "informasi")
                rd.Close()
            Else
                rd.Close()

                cmd = New SqlCommand("insert into siswa (nis,nm_siswa,alamat,jenis_kelamin) values ('" & Txt_nis.Text & "','" & Txt_nama.Text & "','" & Txt_alamat.Text & "','" & Cbo_kelamin.Text & "')", conn)
                cmd.ExecuteNonQuery()
                MsgBox("Data berhasil disimpan", MsgBoxStyle.Information, "Informasi")
                Call awal()
            End If
        End If
       
    End Sub

    Private Sub Btn_tutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_tutup.Click
        If Btn_tutup.Text = "Batal" Then
            Call awal()
        Else
            Me.Close()
        End If
    End Sub

    Private Sub Btn_cari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_cari.Click
        If Txt_nis.Text = "" Then
            MsgBox("Nis masih kosong", MsgBoxStyle.Exclamation, "Peringatan")
        Else
        cmd = New SqlCommand("select nis,nm_siswa,alamat,jenis_kelamin from siswa where nis='" & Txt_nis.Text & "'", conn)
        rd = cmd.ExecuteReader
        rd.Read()
            If rd.HasRows Then
                Txt_nis.Text = rd("nis")
                Txt_nama.Text = rd("nm_siswa")
                Txt_alamat.Text = rd("alamat")
                Cbo_kelamin.Text = rd("jenis_kelamin")
                Btn_simpan.Enabled= False
            Else
                MsgBox("Data tidak ditemukan")
            End If
            rd.Close()
        End If
    End Sub

End Class

6. Lalu jalankan program dengan cara tekan F5,
CRUD dengan VB.NET bagian 1


Jika anda ingin mendownload source code silahkan klik disini
dan untuk passwordnya disini

semoga berhasil
sekian postingan saya kali ini.
untuk selanjutnya pada postingan CRUD dengan VB.NET bagian 2 saya akan menambahkan Update dan Delete data
Read More

Saturday, 19 October 2013

Memasang Alexa Rank Di Blog

By zianovel22:19:00Tips dan Trik No comments
Malam semua kali ini saya akan posting tetang cara Memasang Alexa Rank Di Blog,sebelumnya kita harus mengetahui apakah yang dimaksud dengan Alexa Rank?
Alexa Traffic Rank adalah perkiraan secara kasar popularitas sebuah Blog atau Website di negara tertentu maupun secara Global.bahkan banyak situs-situs yang terkenal juga menggunakannya, menjadikannya salah satu rujukan peringkat sebuah situs.

Memasang Alexa Rank Di Blog
Alexa menyediakan informasi mengenai popularitas banyaknya pengunjung harian, tampilan halaman, kata kunci, kategori dan lainnya yang perbaharui (update) setiap hari. Maka dengan memasang Alexa akan mendapatkan keuntungan lebih, agar analisa data-data lebih akurat.

Untuk menggunakan Alexa tidak selalu harus memasang widget-nya, tetapi yang paling penting adalah memasang meta name-nya diletakan dibagian "head".

Daftar Alexa ada yg gratis dan berbayar, Berikut cara memasang Alexa meta name, langkah ini digunakan untuk mengklaim kepemilikan sebuah situs:
1. Kunjungi situs alexa.com
2. Daftar (Create an Account alias sign up) seperti pada umumnya menggunakan email ataupun facebook.
3. Verifikasi email dari alexa (jika menggunakan email) Klik link tautannya.
    Verifikasi notifikasi jika menggunakan facebook.
    Kalau sudah masuk, diatas biasanya ada tulisan 'Welcome'.
4. Setelah selesai verifikasi, kunjungi halaman   http://www.alexa.com/siteowners/claim
    Perhatikan: Pilih Verify Ownership (Select Verify)


5. Masukan nama Blog atau website dalam kotak tersedia, jika sudah yakin pilihannya maka lanjutkan (Get Started).
6. Halaman berikutnya Pilih Free (Yang Gratis).


7. Di Halaman Claim Your Site
    Pilih metode yang kedua (option 2) untuk verifikasi situs, Pilihan ini direkomendasikan.


Keterangan gbr, contoh <meta name=”alexaVerifyID” content=”xxxxxxxxxxxxxxxxx” />

8. Buka Tab Halaman baru, Login ke Blog, buka Template Blog anda (Edit Template), Copy dan masukan kode meta name yang diberi tanda, di bagian “head” template atau diatas<b:skin> setelah itu save template.
9. Kembali ke halaman verifikasi Alexa, kemudian Klik Verify my ID, Jika benar maka akan ada notifikasi berhasil - your site is succesfully claimed.


10. Sampai langkah ini sebenarnya telah selesai. Tambahan berikut, jika melakukan langkah berikutnya bisa mengisi data-data jika diinginkan (pilihan mau diisi atau tidak).


Demikian cara memasang meta name Alexa, mudah-mudahan bermanfaat. Jika sudah terpasang, mudah-mudahan analisa terhadap Alexanya lebih akurat, karena telah terdaftar. Jika anda ingin memasang widgetnya pun mudah, tergantung kemauan.

Berikut Cara Memasang Widget Alexa Di Blog.
1. Kunjungi link ini   http://www.alexa.com/siteowners/widgets
2. Masukan URL Blog kedalam Kotak sesuai widget yang diinginkan, Klik Build Widget.


3. Copy Kode yang tersedia dalam kotak sesuai model widgetnya.


4. Masukan kode widgetnya di Add a Gadget (HTML/JavaScript)  Di Blog.
    atau dimana saja ingin dipasangkan pada Template di dalam Blog..
Read More

Thursday, 17 October 2013

Syntak Dasar SQL

By zianovel20:51:00MySQL, SQL Server No comments
Malam semua  kali ini saya akan posting tentang Syntak Dasar SQL  Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). 
baiklah saya akan menjelaskan pengertian Data Definition Language (DDL) dan Data Manipulation Language(DML)

Data Definition Language
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.
CREATE
CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:
CREATE DATABASE nama_basis_data

CREATE TABLE nama_tabel
CREATE TABLE membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah ini memiliki bentuk
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data,
...]
)
Keterangan :
nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom.
tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.
constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci tamu (foreign key).
Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer.
Contoh:

CREATE TABLE user

(

username VARCHAR(15) CONSTRAINT PRIMARY KEY,

password VARCHAR(20) NOT NULL,

tgl_lahir DATETIME
);
akan membuat tabel user seperti berikut:
username
password
tgl_lahir

Data Manipulation Language
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah: 
Data Manipulation Language
  SELECT untuk menampilkan data
 INSERT untuk menambahkan data baru
 UPDATE untuk mengubah data yang sudah ada
 DELETE untuk menghapus data

SELECT
SELECT adalah perintah yang paling sering digunakan pada SQL, SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap: ( QUERY BUDIN )
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung]
[, nama_tabel3 [AS alias3], ...]
[WHERE kondisi]
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING kondisi_aggregat]

Keterangan :
 kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
 kondisi_aggregat adalah syarat khusus untuk fungsi aggregat
Kondisi dapat dihubungkan dengan operator logika, misalnya AND, OR, dan sebagainya.
Contoh:

Diasumsikan terdapat tabel user yang berisi data sebagai berikut.
username
password
tgl_lahir
jmlh_trans
total_trans
Abdi
6487AD5EF
19-09-1997
6
10.000
Bagoes
97AD4erD
21-11-1994
3
33.000
Chairul
548794654
06-08-1990
24
312.150
Dani
FLKH947HF
02-04-1990
5
12000
Eka
94RER54
15-08-1995
34
50.000
Contoh Pertama : Cara tampilkan seluruh data.

SELECT *

FROM user


Contoh 2: Tampilkan pengguna yang memiliki jumlah transaksi lebih dari 5

SELECT *

FROM user

WHERE jmlh_trans > 5


Contoh 3: Tampilkan username pengguna yang bertransaksi kurang dari 10 dan nilainya lebih dari 1.000.

SELECT username

FROM user

WHERE jmlh_trans < 10 AND total_trans > 700


Contoh 4: Tampilkan total nominal transaksi yang sudah terjadi.

SELECT SUM(total_trans) AS total_nominal_transaksi

FROM user


Contoh 5: Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.

SELECT *

FROM user

ORDER BY jmlh_trans DESC

Fungsi aggregat
Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:
 SUM untuk menghitung total nominal data
COUNT untuk menghitung jumlah kemunculan data
 AVG untuk menghitung rata-rata sekelompok data
MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.
Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi aggregat diletakkan pada bagian HAVING, bukan WHERE.

Subquery
Ada kalanya query dapat menjadi kompleks, terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD mengizinkan penggunaan subquery. Contoh:
Tampilkan username pengguna yang memiliki jumlah transaksi terbesar.

SELECT username

FROM user

WHERE jmlh_trans =

(

SELECT MAX(jmlh_trans)
FROM user
)

INSERT
INSERT digunakan untuk menyimpan data dalam tabel dengan sintaks sebagai berikut :
INSERT INTO [NAMA_TABLE] (NAMA_FIELD1,NAMA_FIELD2, NAMA_FIELD3) VALUES ('NILAI1', 'NILAI2', 'NILAI3');
Contoh :
INSERT INTO tbl_user (nama,alamat,password) VALUES ('Dwi Randy Herdinanto','Bandar Jaya','pass123')

UPDATE
Update digunakan untuk mengubah data dengan syntak sebagai berikut :
UPDATE [NAMA_TABLE] SET [NAMA_FIELD]=[NILAI] WHERE [KONDISI]
Contoh:
UPDATE tbl_user set password="pass123" where username="test"

DELETE
Delete digunakan untuk menghapus data dengan syntak sebagai berikut :
DELETE FROM [NAMA TABLE] WHERE [KONDISI]
Contoh:
DELETE FROM TEST WHERE NAMA='test';

Read More
Newer Posts Older Posts Home

Popular Posts

  • Mengatasi error "String or binary data would be truncated. The statement has been terminated."
    Malam semua setelah beberapa jam yang lalu saya memposting tentang CRUD dengan VB.NET Bagian 1  kali ini saya akan memposting  C ara mengata...
  • Tutorial Sql Injection Dengan SQLMAP Kali Linux
    Tutorial Sql Injection Dengan SQLMAP Kali Linux - SQL Injection merupakan sebuah teknik hacking dimana seorang penyerang dapat memasukka...
  • Memutuskan Koneksi Orang Lain Dengan Tuxcut Kali Linux
    Memutuskan Koneksi Orang Lain Dengan Tuxcut Kali Linux - Tuxcut adalah sebuah program kecil yang berfungsi ( netcut ) "memotong ...
  • Cara Dual Boot Kali Linux dan Windows
    Kali Linux Indonesia - Cara Install Dual Boot Kali Linux dan Windows halo sobat dimana pun berada disini penulis blog Kali Linux Indonesia...
  • Cara Mengatasi Error di Kali Linux
    Cara Mengatasi Error di Kali Linux - Pernah kah anda mengalami error di kali linux anda? jika pernah pasti menjengkelkan tidak bisa update t...

Blog Archive

  • ►  2020 (1)
    • ►  March (1)
  • ►  2016 (26)
    • ►  October (10)
    • ►  May (1)
    • ►  February (3)
    • ►  January (12)
  • ►  2015 (35)
    • ►  December (2)
    • ►  October (4)
    • ►  September (18)
    • ►  August (1)
    • ►  June (1)
    • ►  May (2)
    • ►  April (1)
    • ►  March (1)
    • ►  January (5)
  • ►  2014 (99)
    • ►  December (1)
    • ►  November (3)
    • ►  October (1)
    • ►  September (6)
    • ►  August (3)
    • ►  July (3)
    • ►  June (9)
    • ►  May (9)
    • ►  April (27)
    • ►  March (20)
    • ►  February (10)
    • ►  January (7)
  • ▼  2013 (17)
    • ►  December (6)
    • ►  November (1)
    • ▼  October (9)
      • Membuat login aman dari SQL Injection
      • Mengatasi error "String or binary data would be tr...
      • CRUD dengan VB.NET bagian 1
      • Memasang Alexa Rank Di Blog
      • Syntak Dasar SQL
      • Cara Mengganti Judul Tautan di Facebook
      • Cara Mengkoneksikan VB.Net ke SQL Server 2008
      • Cara Menginstal SQL Server 2008
      • Cara Migrasi dari VB6 ke VB.Net
    • ►  March (1)

Tentangku Yang tak pernah Usai

My Photo
zianovel
Kenalan dulu yu, karena ada istilah tak kenal maka tak sayang. Ya walaupun terkadang udah lama kenal eh ga disayang-sayang. Giliran udah kenal dan udah sayang, eh malah ditinggal pas lagi sayang-sayangnya.
View my complete profile

Copyright © Design by Muhamad Fauzian