Bài giảng - Công nghệ Web và ứng dụng 5.1 Khac tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về t...
Trang 1Phân quyền người dùng
Trang 2Phân quyền người dùng
Phân quyền nhằm trả lời các câu hỏi:
Người dùng nào? Được làm gì? Trên đối tượng nào?
Tổ chức phân quyền trong ứng dụng web trả lời 3 câu hỏi trên
Sự phức tạp của phân quyền người dùng
phụ thuộc
Qui mô của ứng dụng
Số lượng và loại (nhóm) người dùng
Trình độ và kinh nghiệm của người thiết kế phát triển
2
Trang 3Phân quyền người dùng
Tổ chức và kiểm tra người dùng dựa vào bảng
An, Hoa Thêm Tin
Trang 4Phân quyền người dùng
• Hoặc diễn tả theo phòng ban chức năng
Nhiều loại tài nguyên, ví dụ: loại tin, tin, …
• Số lượng tài nguyên có cố định hay không
Quyền áp dụng cho nhóm hay từng tài nguyên riêng lẻ
4
Trang 5Phân quyền người dùng
Kiểm tra quyền
Được thực hiện đầu mọi trang php có nhu cầu
kiểm tra quyền
• Code kiểm tra quyền đặt trong 1 file riêng, sau đó dùng require
<?php
$kt = checkPermission([tham số]);
if($kt==false)
header(“location:login.php?m=„Access denied‟”); ?>
Hàm kiểm tra quyền dựa vào các group mà người dùng đăng nhập là thành viên rồi tra trong bảng Roles
Khi người dùng login, username và userid được
Trang 6Tăng tốc website
Trang 7Tăng tốc website
Website hoạt động nhanh hay chậm phụ thuộc vào nhiều yếu tố:
Khả năng của server
Băng thông của đường truyền
Vị trí địa lý nơi đặt server
Code của website có được tối ưu hay không
Trong phạm vi của môn này chúng ta chỉ
quan tâm đến yếu tố code của website
Trang 10Tăng tốc website
VD sử dụng jQuery CDN
< script src ="https://ajax.googleapis.com/ajax/ libs/jquery/1.12.4/jquery.min.js">< /script >
VD sử dụng Bootstrap CDN
< link rel ="stylesheet" href ="http://maxcdn.boot strapcdn.com/bootstrap/3.3.7/css/bootstrap.min css">
< script src ="https://ajax.googleapis.com/aja x/libs/jquery/1.12.4/jquery.min.js">< /script >
< script src ="http://maxcdn.bootstrapcdn.com/ bootstrap/3.3.7/js/bootstrap.min.js">< /script >
Trang 11 Hoặc đặt lệnh sau ở đầu trang
ini_set(“zlib.output_compression”, “On”) hoặc
ob_start('ob_gzhandler')
11
Trang 12Tăng tốc website
Cache tại client: có hai cách thức điều
khiển cache ở client thông qua http
header: expire và cache-control
Trang 14Tăng tốc website
PHP Cache
Opcode: là code của các trang PHP đã được dịch xong và lưu trong share memory để dùng lại mà không phải thông dịch từng lệnh trong file khi có request
Có nhiều giải pháp như APC , XCache , eAccelerator
File caching: Nội dung file được lưu ở 1 nơi nào đó sau khi kết xuất lần đầu tiên Với
những request đến sau, chỉ đọc file kết quả
rồi trả về ngay lập tức
14
Trang 16Bảo mật website
Trang 19Bảo mật website
Chống SQL Injection (Database Security)
Khi login với username là a' or 1=1 limit 0,1 #
và password là 123 thì câu lệnh trở thành
SELECT * FROM user WHERE username = 'a'
OR 1 = 1 limit 0,1 # Password=123
luôn có dữ liệu, vì từ dấu # trở về sau bị bỏ
qua (nghĩa là MySql không quan tâm #
Password=123 )
Trang 20• Trong file php.ini cấu hình
magic_quotes_gpc = On
20
Trang 21Bảo mật website
SSL và mã hóa dữ liệu
SSL là giao thức web dùng để thiết lập bảo
mật giữa webserver và client
Tất cả dữ liệu truyền đều được mã hóa
Với SSL, browser và server kiểm tra tính hợp
lệ lẫn nhau, sau đó mã hóa dữ liệu truyền
Cấu hình webserver hỗ trợ (httpd.conf)
• LoadModule ssl_module modules/mod_ssl.so
Các website lớn đều dùng SSL Certificates
(free hoặc thương mại) để xác thực
Trang 22</script>
Thiết lập file htaccess
Giới hạn số kết nối website tại một thời điểm
Sử dụng captcha image
22