Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
266,83 KB
Nội dung
PHPThe Fourth LessonPHP The Fourth Lesson
Hanoi University of Science and TechnologyHanoi University of Science and Technology
(hust.vn)(hust.vn)
Chương 3: PHP và MySQLChương 3: PHP và MySQL
1. Các bước truy cập CSDL
2. SQL Injection
Các bước truy cập cơ sở dữ liệuCác bước truy cập cơ sở dữ liệu
Tạo kết nối đến Database ServerTạo kết nối đến Database Server
$biến_kết_nối =
mysql_connect(“máy_chủ”,“tên”,“mật_khẩu”)
or die(“Không kết nối ñược”);
Hàm die(“Chuỗi”): Đưa ra thông báo và kết
thúc.
thúc.
Với cách viết trên, die chỉ thực hiện khi lệnh
trước nó không thành công
$cnn =
mysql_connect(“localhost”,”coursek50”,”123
456”);
Lựa chọn cơ sở dữ liệuLựa chọn cơ sở dữ liệu
mysql_select_db(“Tên CSDL”)
or die (“Chưa có CSDL”);
mysql_select_db(“coursek50”);
mysql_select_db(“coursek50”);
Viết truy vấnViết truy vấn
$biến = mysql_query(“Lệnh SQL”)
or die(“Không thực hiện ñược SQL”);
$sql = mysql_query(“Select * From
$sql = mysql_query(“Select * From
account Where username = ‘coursek50’
”);
Các hàm hỗ trợCác hàm hỗ trợ
mysql_affected_rows(): Số bản ghi bị tác
ñộng bởi lệnh mysql_query liền trước
mysql_num_rows(): Kết quả số bản ghi
của câu lệnh mysql_query
mysql_error(): Thông báo lỗi (nếu có)
mysql_errno(): Mã lỗi
Các hàm xử lý kết quảCác hàm xử lý kết quả
mysql_fetch_array($sql): trả về một dòng
bản ghi dưới dạng một mảng với chỉ mục
dạng số hoặc tên của trường.
mysql_fetch_row($sql): trả về kết quả là
một mảng có thứ tự (bắt ñầu từ 0)
mysql_fetch_assoc($sql): trả về kết quả là
một mảng ñược ñánh chỉ số bằng tên
Tham khảo tại: http://vn2.php.net/mysql
SQL InjuctionSQL Injuction
Thế nào là SQL InjectionThế nào là SQL Injection
Là một kỹ thuật cho phép những kẻ tấn
công thi hành các câu lệnh truy vấn SQL
bất hợp pháp
Bằng cách lợi dụng lỗ hổng trong việc
kiểm tra dữ liệu nhập trong các ứng dụng
web
[...]... quả trả về sẽ là toàn bộ user trong cơ sở dữ liệu (ti p) $sql=“Insert Into table_name Values(‘$val1’,’$val2’,’$val3’)”; Nếu như các biến val1 thành như sau: ‘ + (Select Top 1 Fieldname From TableName) +’ Insert Into TableName Values(‘’ + Select Top 1 FieldName From TableName)+ ‘’,’$val2,’$val3’) Cách phòng tránh SQL Injection khai thác những bất cẩn của các lập trình viên phát triển ứng dụng web khi xử... web browser Độc lập với web server Sử dụng JavaScript ñể gửi và nhận dữ liệu giữa client và server AJAX dựa trên: – JavaScript – XML – HTML – CSS AJAX sử dụng XML và HTTP Request So sánh Click –Wait-And-Refresh Ajax based Truy xu t d li u t server trong JavaScript Với IE6: sử dụng Msxml2.XMLHTTP: XMLHttp = new ActiveXObject("Msxml2.XMLHTTP") Với IE5.6: sử dụng Microsoft.XMLHTTP XMLHttp = new ActiveXObject("Microsoft.XMLHTTP")... khởi tạo: sau khi gọi open() nhưng chưa gọi send() readyState=2: Vừa gửi ñi: ngay sau khi gọi send() readyState =3: Đang xử lý: sau khi kết nối ñến server nhưng server chưa trả lời readyState=4: Xong: sau khi server tính toán xong, dữ liệu ñã gửi về xong Quá trình tương tác 1 Một event client-side gây ra 1 sự kiện – Ajax event Bất kỳ một tác ñộng nào cũng có thể gây ra Ajax event . PHP The Fourth LessonPHP The Fourth Lesson
Hanoi University of Science and TechnologyHanoi University of Science and Technology
(hust.vn)(hust.vn)
Chương. University of Science and Technology
(hust.vn)(hust.vn)
Chương 3: PHP và MySQLChương 3: PHP và MySQL
1. Các bước truy cập CSDL
2. SQL Injection
Các bước