Tải bản đầy đủ (.pdf) (3 trang)

Tài liệu SQL Advanced part 7 pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (136.98 KB, 3 trang )

Phần 2 SQL Advanced (bài 15)


Với một số kiến thức cơ bản về SQL ở trên bạn có thể làm gì nào ?
Bây giờ ta sẽ thử xét với phương diện của người lập trình web :
Tạo 1 database tên hacker với các trường như sau :
Trích:
create database hacker
use hacker

Create table admin(
[id] numeric not null,
username nvarchar(10) not null,
[password] nvarchar(10) not null,
address nvarchar(30),
phone numeric(10)
)

select * from admin



Insert vào một số data :
Trích:
insert into admin ([id],username,[password],address,phone)
values (1,'admin',12345,'Ha Noi',048324245)
go
insert into admin ([id],username,[password],address,phone)
values (2,'Neo',12345,'Ha Noi',048324245)

Rồi okie ta thấy table admin như sau :





Giờ muốn select những username trong table admin mà có address tại Hà Nội thì câu
query sẽ như sau : (tất cả những giá trị là character thì phải được bao trong dấu quote ')
Trích:
select u
s



Vậy nế
u
Trích:
select u
s



Kết quả

Như trê
n
bằng 'or
sau nó l
à
Mà giá t
thực thi
đằng sa
u

truy vấn
admin ,

Còn về

Như đã
b
đó phải l
Ví dụ :
Trích:
select u
s
UNION
select [
p

Câu lện
h
Khi tạo t
bằng UN
:

Câu tru
y
sername fro
u ta viết thế
sername fro
cũng show
n ta thấy đá
1=1-- thì d

à or 1=1 , n
trị đằng trướ
lệnh này m
u thành chú
n hoàn toàn
đến đây ch

câu lệnh U
biết câu lện
là tương ứn
sername fro

password] fr
h trên sẽ sho
table bạn đ
NION , dòn
y vấn :
om admin w
này thì sẽ c
om admin w
w ra như trên
áng lẽ ra add
dấu quote đằ
như ta đã biế
ớc là rỗng n
mà or 1=1--
ú thích (tron
hợp lệ và k
ắc bạn đã h
UNION :

nh UNION
ng .
om admin
rom admin
ow cho ta th
ể ý thấy use
ng thứ 2 bạn
where addre
có chuyện g
where addre
n.
dress mang
ằng trước sẽ
ết or là câu
nên SQL sẽ
, 1=1 thì luô
ng SQL quy
ko có lỗi gì
hiểu rồi chứ
dùng để gộ

hấy các use
ername ta g
n thay [pass
ss='Ha No
i
gì xảy ra nh
ss=''or 1=1-
giá trị là H
ẽ là 2 dấu ''

lệnh điều
k
ẽ chạy tiếp t
ôn đúng , c
y định sau d
cả và nó sẽ

p chuỗi lại
ername và p
gán thuộc tín
word] thành
i'
hỉ
--'
Ha Noi nhưn
có nghĩa g
kiện và ở đâ
theo gặp điề
òn dấu -- sẽ
dấu -- là câu
show cho t
với nhau và
password tr
nh là nvarc
h số bất kì (
ng nếu ta th
iá trị trong
ây có nghĩa
ều kiện or th
ẽ biến tất cả

u chú thích)
ta toàn bộ u
à các giá trị
ong table ad
har , vậy nế
(ví dụ 1) th
hay giá trị đó
đó rỗng . V
là hoặc.
hì tất nhiên
ả những thứ
. Như vậy c
username củ
ị trong 2 ch
dmin.
ếu khi truy
hì sẽ báo lỗi
ó

n sẽ

câu
ủa
huỗi
vấn
sau
Trích:
select u
s
UNION

select 1

Error :
Trích:
Syntax
e

Hô hô e
r
được vì
ra cái ta
b
có tồn tạ

Đây chỉ
cho các

Mà còn
Hàm nà
y
bắt nhữn
Còn các

dondoc


sername fro

from admi
n

error conver
rror báo sai
dòng thứ 2
ble admin .
ại .
là một số
v
bạn !
cách fix th
ì
y có tính nă
ng lỗi trên h
h viết thế n
(vniss)
om admin
n
rting the nv
i cú pháp ,k
ta thay thế
Còn khi á
p
ví dụ để các
ì sao nhỉ , tr
ăng tương tự
hoặc có thể
nào thì phải
varchar valu
ko thể chuyể
giá trị là ki
p dụng trên

c bạn có thể
rong SQL c
ự như hàm
viết = chí
n
nhờ anh Da
ue 'admin' to
ển từ kiểu d
iểu int --> k
web thì đây
hiểu về SQ
có một thứ g
bắt sự kiện
nh ngôn ngữ
arkHawk cá
o a column
dữ liệu nvar
ko cùng loạ
y là dấu hiệ
QL injection
gọi là trigge
n trong Java
ữ lập trình w
ái nhẩy --C
of data typ
rchar (chuỗi
ại dữ liệu ---
ệu cho thấy
n ,mong giú
er

aScript , ta s
web.
huyên gia
pe int.
i) sang int (
->error và s
table admin
úp được gì đ
sẽ viết 1 hàm

(số)
show
n là
đó
m để

×