Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
Phân biệt khi nào sử dụng PDO và mở rộng
mysqli
Cách sử dụng câu lệnh dựng sẵn khi làm việc với
PDO
Cách sử dụng chế độ hiển thị lỗi
Cách sử dụng mysqli trong cả hai hướng lập
trình hướng đối tượng và hướng cấu trúc
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
Phân biệt khi nào sử dụng PDO và mở rộng
mysqli
Cách sử dụng câu lệnh dựng sẵn khi làm việc với
PDO
Cách sử dụng chế độ hiển thị lỗi
Cách sử dụng mysqli trong cả hai hướng lập
trình hướng đối tượng và hướng cấu trúc
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
Cách tổ chức mô hình MVC
Ưu điểm của mô hình MVC trong việc phát triển
ứng dụng web
Cách tạo và gọi hàm theo phong cách mô hình
MVC
Phân biệt khi nào nên forward hoặc chuyển
hướng yêu cầu HTTP
Giới thiệu về framework CakePHP
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTMasterCode.vn
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Nhắc lại bài cũ
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2KhanhPham
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2. Hướng dẫn cách cài đặt, cấu hình ZF2.
Để tìm hiểu kỹ hơn các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ JavaHuy Vũ
Hướng dẫn xây dựng ứng dụng web bằng ngôn ngữ Java theo mô hình MVC
Tham khảo sourcecode vui lòng liên hệ email: pinuit11@gmail.com
Chúc các bạn học tập thật tốt!
Giáo trình lập trình Wordpress - bài 4 - Tạo Plugin căn bản KhanhPham
• Tạo ra nền tảng vững chắc Plugin.
• Xác định thư mục và tập tin đường dẫn.
• Sử dụng chức năng Active và Deactivate.
• Tìm hiểu về các phương thức uninstall plugin.
• Cách viết code chuẩn trong WP
Khi phát triển một Plugin trong WordPress, điều này cần thiết để bắt đầu một nền tảng Plugin vững chắc. Bắt đầu với một nền tảng tốt có thể loại bỏ sự đau đầu khi các bạn phát triển các Plugin . Các kỹ thuật được thảo luận trong chương này sẽ được xử dụng xuyên trong quá trình học của chúng ta.
Để tìm hiểu kỹ hơn về bài học này các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Học Zend Framework - Khóa học lập trình Zend FrameworkKhanhPham
Học Zend Framework - Khóa học lập trình Zend Framework
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Youtube: https://www.youtube.com/watch?v=8XT6cCq6eyY
[Bảo Mật Thông Tin Nơi Công Sở]
CUỘC KHẢO SÁT 4000 NHÂN VIÊN
Không dùng công cụ bảo mật trên laptop 57%
Không khóa máy khi rời văn phòng 52%
Bật laptop qua đêm mà không hề khóa lại 1/4
Được chia sẻ mật khẩu 30%
Chia sẻ mật khẩu 15%
Viết mật khẩu lên bàn làm việc cho dễ nhớ 12%
Click vào đường link hoặc tập tin từ người lạ 18%
Truy cập website dù biết không an toàn 18%
Download virus về máy 9%
============================================
DTU Corp được thành lập vào tháng 9 năm 2008, chuyên hoạt động trong các lĩnh vực: tư vấn du học, dạy Anh ngữ, dạy Toán bằng tiếng Anh và đào tạo kỹ năng sống "Tôi Khác Biệt".
Slogan: Vì tương lai giới trẻ
Sứ mệnh: Mang nền giáo dục thế giới đến với mọi người bằng chi phí thấp nhất
Tầm nhìn: Trở thành công ty đi đầu châu Á trong các lĩnh vực: du học, đào tạo và quảng cáo
Giá trị cốt lõi: Đột phá -- Tận tình -- Uy tín
Thông tin liên hệ:
Công ty tư vấn du học DTU
158 Hồ Bá Kiện, phường 15, Quận 10, TPHCM, Việt Nam
Hotline: 0933.855.031
Email:info@dtu.com.vn
Website:www.dtu.com.vn|| www.duhocnhom.com || www.toikhacbiet.vn
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
Cách tổ chức mô hình MVC
Ưu điểm của mô hình MVC trong việc phát triển
ứng dụng web
Cách tạo và gọi hàm theo phong cách mô hình
MVC
Phân biệt khi nào nên forward hoặc chuyển
hướng yêu cầu HTTP
Giới thiệu về framework CakePHP
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTMasterCode.vn
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Nhắc lại bài cũ
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2KhanhPham
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2. Hướng dẫn cách cài đặt, cấu hình ZF2.
Để tìm hiểu kỹ hơn các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ JavaHuy Vũ
Hướng dẫn xây dựng ứng dụng web bằng ngôn ngữ Java theo mô hình MVC
Tham khảo sourcecode vui lòng liên hệ email: pinuit11@gmail.com
Chúc các bạn học tập thật tốt!
Giáo trình lập trình Wordpress - bài 4 - Tạo Plugin căn bản KhanhPham
• Tạo ra nền tảng vững chắc Plugin.
• Xác định thư mục và tập tin đường dẫn.
• Sử dụng chức năng Active và Deactivate.
• Tìm hiểu về các phương thức uninstall plugin.
• Cách viết code chuẩn trong WP
Khi phát triển một Plugin trong WordPress, điều này cần thiết để bắt đầu một nền tảng Plugin vững chắc. Bắt đầu với một nền tảng tốt có thể loại bỏ sự đau đầu khi các bạn phát triển các Plugin . Các kỹ thuật được thảo luận trong chương này sẽ được xử dụng xuyên trong quá trình học của chúng ta.
Để tìm hiểu kỹ hơn về bài học này các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Học Zend Framework - Khóa học lập trình Zend FrameworkKhanhPham
Học Zend Framework - Khóa học lập trình Zend Framework
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Youtube: https://www.youtube.com/watch?v=8XT6cCq6eyY
[Bảo Mật Thông Tin Nơi Công Sở]
CUỘC KHẢO SÁT 4000 NHÂN VIÊN
Không dùng công cụ bảo mật trên laptop 57%
Không khóa máy khi rời văn phòng 52%
Bật laptop qua đêm mà không hề khóa lại 1/4
Được chia sẻ mật khẩu 30%
Chia sẻ mật khẩu 15%
Viết mật khẩu lên bàn làm việc cho dễ nhớ 12%
Click vào đường link hoặc tập tin từ người lạ 18%
Truy cập website dù biết không an toàn 18%
Download virus về máy 9%
============================================
DTU Corp được thành lập vào tháng 9 năm 2008, chuyên hoạt động trong các lĩnh vực: tư vấn du học, dạy Anh ngữ, dạy Toán bằng tiếng Anh và đào tạo kỹ năng sống "Tôi Khác Biệt".
Slogan: Vì tương lai giới trẻ
Sứ mệnh: Mang nền giáo dục thế giới đến với mọi người bằng chi phí thấp nhất
Tầm nhìn: Trở thành công ty đi đầu châu Á trong các lĩnh vực: du học, đào tạo và quảng cáo
Giá trị cốt lõi: Đột phá -- Tận tình -- Uy tín
Thông tin liên hệ:
Công ty tư vấn du học DTU
158 Hồ Bá Kiện, phường 15, Quận 10, TPHCM, Việt Nam
Hotline: 0933.855.031
Email:info@dtu.com.vn
Website:www.dtu.com.vn|| www.duhocnhom.com || www.toikhacbiet.vn
Chương 3 Mạng Ethernet và mạng Wi-Fi - Giáo trình FPTMasterCode.vn
Biết card mạng là gì
Thiết lập được card mạng trong BIOS
Phân biệt được các loại chuẩn của mạng Wi-Fi
Biết thiết bị thu phát sóng không dây
Biết được thiết bị không dây khác
Kết nối thành thạo đến các thiết bị thu phát sóng không dây
Biết cấu hình bảo mật cho hệ thống thiết bị không dây
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPTMasterCode.vn
Định nghĩa về HTML5
Tổng quát về cú pháp của HTML5
Một số thành phần mới của HTML5
Tổng quan về HTML5 API (giao diện lập trình ứng
dụng) và công nghệ hỗ trợ
Giới thiệu CSS3
Định nghĩa về HTML5
Tổng quát về cú pháp của HTML5
Một số thành phần mới của HTML5
Tổng quan về HTML5 API (giao diện lập trình ứng
dụng) và công nghệ hỗ trợ
Giới thiệu CSS3
Bài 3 Cài đặt và quản lý các Extension của JoomlaMasterCode.vn
Hiểu rõ Joomla có bao nhiêu loại Extension, chức năng
nhiệm cụ của từng loại extension;
• Thành thạo cách thức cài đặt và quản lý từng loại
extension;
• Tìm hiểu một số extension hay sử dụng;
• Các chức năng còn lại trong Joomla CMS.
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...MasterCode.vn
Xây dựng lớp, cấu trúc
Tạo và sử dụng đối tượng
Xây dựng lớp kế thừa
Khái niệm đa hình và sử dụng đa hình
Sử dụng các lớp và đối tượng dựng sẵn
Collection
Tự sinh mã khai báo
Mục tiêu bài học
Xây dựng lớp, cấu trúc
Tạo và sử dụng đối tượng
Xây dựng lớp kế thừa
Khái niệm đa hình và sử dụng đa hình
Sử dụng các lớp và đối tượng dựng sẵn
Collection
Tự sinh mã khai báo
Bài 4 Hướng dẫn chỉnh sửa và thiết kế giao diện web JoomlaMasterCode.vn
Tìm hiểu chi tiết cách thức quản lý giao diện website
Joomla thông qua phần Template Manager;
• Chỉnh sửa một template có sẵn để tạo giao diện web
như ý muốn;
• Hiểu rõ cấu trúc của một Template, những kiến thức căn
bản để xây dựng 1 Template cho website Joomla
Bài 9 Hướng dẫn thiết kế website bán hàng trực tuyến bằng JoomlaMasterCode.vn
Hiểu rõ quy trình xây dựng 1 website bằng Joomla
• Tổng hợp các kiến thức cơ bản về xây dựng và quản trị
website Joomla
• Hiểu rõ cách thức đưa website lên host sau khi đã hoàn
thiện trên wampserver
• Hiểu cách sử dụng các gói Quickstart Joomla để tạo
website.
• Hiểu rõ quy trình xây dựng 1 website bằng Joomla
• Tổng hợp các kiến thức cơ bản về xây dựng và quản trị
website Joomla
• Hiểu rõ cách thức đưa website lên host sau khi đã hoàn
thiện trên wampserver
• Hiểu cách sử dụng các gói Quickstart Joomla để tạo
website.
PHP chủ yếu được sử dụng để làm các trang web động, nhưng có nhiều thứ thú vị hơn bạn có thể làm với PHP.
Trong bài viết này, bạn sẽ thấy 9 ví dụ thú vị về cách bạn có thể sử dụng PHP để lập trình bên cạnh việc làm các trang web động.
Bài 7: Xác thực và quản lý tài khoản - Giáo trình FPTMasterCode.vn
Mô tả ba kiểu xác thực thông tin
Giải thích những gì mà mô hình đăng nhập đơn nhất có
thể thực hiện
3
Liệt kê các thủ tục quản lý tài khoản để bảo mật mật
khẩu
Định nghĩa các hệ điều hành được tin cậy
Slide giới thiệu về PHP, những điểm đáng chú ý về ngôn ngữ PHP. Đồng thời trình bày một số khái niệm về Security, Large-scale và giới thiệu về chứng chỉ ZCE của Zend.
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Giao thức http và https trong bảo mật website, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Dù bạn là ai, dù mục đích học tiếng Anh của bạn đơn thuần chỉ là có tấm bằng trong tay để xin việc hay cao siêu hơn là có thể nói thông viết thạo thì việc nằm lòng các ngữ pháp tiếng Anh ẩn chứa sức mạnh ghê gớm dưới đây cũng là bước cơ bản giúp bạn master tiếng Anh
Scalability and optimization are constant
concerns for the developer and operations
manager. The Performance Zone focuses on
all things performance, covering everything
from database optimization to garbage
collection, tool and technique comparisons,
and tweaks to keep your code as effcient
as possible.
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
Các doanh nghiệp cần luôn có mặt trên online để khách hàng dễ dàng thấy họ mỗi khi tìm kiếm. "Mùa vụ" hay giai đoạn mà lượng
tìm kiếm về sản phẩm dịch vụ của doanh nghiệp trên Google bỗng gia tăng chính là thời điểm tuyệt vời để tận dụng.Các doanh nghiệp
có thể tối đa hoá doanh thu trong thời kì cao điểm này bằng cách lên chiến lược quảng cáo "luôn online" gắn liền với mục tiêu mùa.
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
Lập trình sáng tạo bao gồm việc sáng tạo. Khoa học máy tính và các ngành liên quan tới tính toán đã từ lâu đƣợc giới thiệu tới những ngƣời trẻ tuổi một cách rời rạc – quá nhấn mạnh kĩ thuật so với khả năng sáng tạo. Lập trình sáng tạo giúp cho sự phát triển của cá nhân đối với tính toán trở nên tốt hơn, bằng cách hỗ trợ vẽ vời dựa trên sáng tạo, tƣởng tƣợng, và sở thích.
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
Meta Tag là thẻ dùng để cung cấp các thông tin về website một cách tóm gọn đối với các trình duyệt lẫn người dùng hay bot từ các search engine. Mọi người hay nghe Meta Keyword, Meta Description, Meta Page title,..
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
Google Webmaster Tools • Google Analytics phân tích traffic • SEO Power Suite , web auditor đ onpage • Ahrefs, phân tích t khóa và Link • OpenSiteExplorer phân tích link profile • Firexfox Extensions: SEO Doctor cho onpage, NoDofollow • SEOMoz Toolbar đ check PA và DA •Free Monitor for Google đ check RANK •SEOMOZ pro check onpage
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
Cơ chế hoạt động Google Tên miền Cấu trúc website Meta Tag (Title, Description, H1-H6, ALT...) URL thân thiện, Sitemap, robots.txt Keyword Density Tốc độ tải trang
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Những chú ý đặc biệt khi hỗ trợ người dùng máy tính xách tay Cài đặt, cấu hình, tối ưu, sửa chữa các thiết bị ngoại vi hay dùng với máy tính xách tay Nâng cấp, thay thế các thiết bị máy tính xách tay Nguyên lý hoạt động của máy in Cài đặt máy in
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Tìm hiểu các quy trình xử lý đảm bảo an toàn Tìm hiểu phương pháp bảo trì phòng ngừa cho máy tính cá nhân Tìm hiểu cách phát hiện và xử lý sự cố máy tính
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Đưa ra kế hoạch bảo trì phòng ngừa Rà soát các thiết lập Windows trọng yếu Làm sạch ổ cứng Chống phân mảnh ổ đĩa Kiểm tra lỗi ổ cứng Rà soát các chương trình khởi động và dịch vụ Tiến hành các thủ tục sao lưu Lập kế hoạch khắc phục thảm họa Sao lưu dữ liệu người dùng / toàn bộ ổ cứng Tối ưu Windows Các công cụ tối ưu: Task Manager, MSConfig, Services Console, Computer Management Cải thiện hiệu năng Windows Đưa ra kế hoạch bảo trì phòng ngừa Rà soát các thiết lập Windows trọng yếu Làm sạch ổ cứng Chống phân mảnh ổ đĩa Kiểm tra lỗi ổ cứng Rà soát các chương trình khởi động và dịch vụ Tiến hành các thủ tục sao lưu Lập kế hoạch khắc phục thảm họa Sao lưu dữ liệu người dùng / toàn bộ ổ cứng Tối ưu Windows Các công cụ tối ưu: Task Manager, MSConfig, Services Console, Computer Management Cải thiện hiệu năng Windows
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Biết được các công nghệ chế tạo ổ cứng Hiểu được cấu tạo ổ cứng Phân biệt rõ các chuẩn giao tiếp giữa hệ thống với ổ cứng Thông hiểu cách tổ chức lưu trữ dữ liệu trong ổ cứng Giải quyết các vấn đề liên quan đến ổ cứng Biết được các công nghệ chế tạo ổ cứng Hiểu được cấu tạo ổ cứng Phân biệt rõ các chuẩn giao tiếp giữa hệ thống với ổ cứng Thông hiểu cách tổ chức lưu trữ dữ liệu trong ổ cứng Giải quyết các vấn đề liên quan đến ổ cứng
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Nhận biết được đặc điểm và thông số kỹ thuật của các CPU dùng cho máy tính cá nhân Thông hiểu cách lựa chọn CPU cho hệ thống Thông hiểu cách lắp mới và thay thế CPU Thông hiểu các phương pháp tản nhiệt cho CPU Thông hiểu các loại RAM khác nhau và nguyên lý hoạt động của chúng. Thông hiểu các vấn đề cần thiết khi nâng cấp RAM
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Nhắc lại các khái niệm cơ bản về phần cứng và phần mềm. Giới thiệu về các thành phần của máy tính. Nắm được vị trí sắp xếp của các thành phần bên trong case, các loại case khác nhau. Nắm được các thông số về nguồn điện được sử dụng để vận hành hệ thống máy tính. Ước lượng công suất của hệ thống và chọn bộ cấp nguồn và thiết bị lưu điện cho phù hợp. Nhận biết và xử lý một số vấn đề thường gặp liên quan đến nguồn điện
2. Kết nối bảo mật và giao thức SSL
Xác thực cho website
Mã hóa và giải mã dữ liệu
Mục tiêu
Bài 4 - Bảo mật cho website 2
3. Giới thiệu về kết nối bảo mật
Lấy một chứng nhận bảo mật điện tử
Yêu cầu một kết nối bảo mật
Chuyển hướng một kết nối bảo mật
Kết nối bảo mật và giao thức SSL
Bài 4 - Bảo mật cho website 3
4. Hình ảnh một yêu cầu kết nối bảo mật:
Kết nối bảo mật
Bài 4 - Bảo mật cho website 4
5. Kết nối bảo mật (secure connection): ngăn chặn
dữ liệu bị đọc được trong quá trình truyền tải
qua Internet
Kết nối được bảo mật thường chậm hơn kết nối
thường: phải mã hóa và giải mã dữ liệu
Cách xác định kết nối bảo mật: HTTPS
Kết nối bảo mật
Bài 4 - Bảo mật cho website 5
6. Hai loại giao thức:
SSL (Secure Sockets Layer): giao thức cũ
TLS (Transport Layer Security): giao thức mới, chỉ có
các trình duyệt mới ra gần đây mới hỗ trợ
Xác thực SSL phía máy chủ
Xác thực SSL phía máy khách
Một số khái niệm
Bài 4 - Bảo mật cho website 6
7. Hình ảnh một chứng nhận bảo mật điện tử:
Chứng nhận bảo mật điện tử
Bài 4 - Bảo mật cho website 7
8. Chứng nhận phía máy chủ
Chứng nhận phía máy khách
Hai loại
chứng nhận bảo mật điện tử
Bài 4 - Bảo mật cho website 8
9. Trước khi kết nối được thiết lập, máy chủ sử
dụng xác thực SSL phía máy chủ để tự xác thực
bằng cách cung cấp một chứng nhận bảo mật
điện tử cho trình duyệt
Mặc định thì trình duyệt sẽ chấp nhận các chứng
nhận bảo mật điện tử từ các nguồn tin cậy
(trusted sources)
Cơ chế làm việc của SSL
Bài 4 - Bảo mật cho website 9
10. Nếu chứng nhận bảo mật không phải của nguồn
tin cậy thì trình duyệt thông báo để người dùng
tự quyết định
Trong một vài trường hợp, máy khách có thể tự
xác nhận với xác thực SSL phía máy khách bằng
cách cài sẵn chứng nhận bảo mật điện tử
Cơ chế làm việc của SSL
Bài 4 - Bảo mật cho website 10
11. Để sử dụng SSL trong ứng dụng web thì bạn cần
mua một chứng nhận bảo mật điện tử
Các loại cấp độ bảo mật SSL:
40 bit
56 bit
128 bit
256 bit
Khái niệm
Bài 4 - Bảo mật cho website 11
12. Cơ quan chứng nhận (Certification Authority -
CA)
Cơ quan đăng ký (Registration Authority - RA)
Khái niệm
Bài 4 - Bảo mật cho website 12
13. Địa chỉ kiểm tra
kết nối bảo mật trong mạng nội bộ
Bài 4 - Bảo mật cho website 13
//Kiểm tra kết nối bảo mật được thiết lập đúng chưa
https://localhost/
//Yêu cầu một kết nối bảo mật
https://localhost/book_apps/ch21_ssl/
//Trả về một kết nối thông thường
http://localhost/book_apps.ch21_ssl/
14. Địa chỉ kiểm tra
kết nối bảo mật trên Internet
Bài 4 - Bảo mật cho website 14
//Yêu cầu một kết nối bảo mật
https://www.murach.com/
//Trả về một kết nối thông thường
http://www.murach.com/
16. File chuyển hướng
tới kết nối bảo mật
Bài 4 - Bảo mật cho website 16
<?php
//Đảm bảo trang web sử dụng kết nối bảo mật
if (!isset($_SERVER['HTTPS'])) {
$url = 'https://' . $_SERVER['HTTP_HOST'] .
$_SERVER['REQUEST_URI'];
header("Location: " . $url);
exit();
}
?>
17. Ba loại xác thực
Sử dụng xác thực dạng form
Sử dụng xác thực cơ bản
Sử dụng xác thực (authentication)
Bài 4 - Bảo mật cho website 17
18. Xác thực dạng form:
Cho phép nhà phát triển viết form đăng nhập để lấy
tên tài khoản và mật khẩu
Cho phép chỉ yêu cầu tên tài khoản và mật khẩu một
lần duy nhất trong mỗi phiên làm việc
Mặc định không mã hóa tên tài khoản và mật khẩu
trước khi gửi lên máy chủ
Ba loại xác thực
Bài 4 - Bảo mật cho website 18
19. Xác thực cơ bản:
Trình duyệt hiển thị hộp thoại để lấy tên tài khoản và
mật khẩu
Đòi hỏi trình duyệt gửi tên tài khoản và mật khẩu cho
mỗi trang được bảo vệ
Mặc định không mã hóa tên tài khoản và mật khẩu
trước khi gửi lên máy chủ
Xác thực rút gọn:
Trình duyệt hiển thị hộp thoại để lấy tên tài khoản và
mật khẩu
Mã hóa tên tài khoản và mật khẩu trước khi gửi lên
máy chủ
Ba loại quá trình xác thực
Bài 4 - Bảo mật cho website 19
20. Hàm sha1($string [, $bin])
Ví dụ: Lưu trữ và xác nhận mật khẩu:
Hàm mã hóa dữ liệu
Bài 4 - Bảo mật cho website 20
<?php
function add_admin($email, $password) {
global $db;
$password = sha1($email . $password);
$query = 'INSERT INTO administrators (emailAddress,
password) VALUES (:email, :password)';
$statement = $db->prepare($query);
$statement->bindValue(':email', $email);
$statement->bindValue(':password', $password);
$statement->execute();
$statement->closeCursor();
}
21. Hàm mã hóa dữ liệu
Bài 4 - Bảo mật cho website 21
function is_valid_admin_login($email, $password) {
global $db;
$query = 'SELECT adminID FROM administrators WHERE
emailAddress=:email AND password=:password';
$statement = $db->prepare($query);
$statement->bindValue(':email', $email);
$statement->bindValue(':password', $password);
$statement->execute();
$valid = ($statement->rowCount() == 1);
$statement->closeCursor();
return $valid;
}
?>
23. Trang web được bảo vệ
(protected page)
Bài 4 - Bảo mật cho website 23
24. Mã điều khiển
cho trang web được bảo vệ
Bài 4 - Bảo mật cho website 24
<?php
//Bắt đầu session và include các hàm cần thiết
session_start();
require_once('model/database.php');
require_once('model/admin_db.php');
//Lấy thông tin về hành động
if (isset($_POST['action'])) {
$action = $_POST['action'];
} else if (isset($_GET['action'])) {
$action = $_GET['action'];
} else {
$action = 'show_admin_menu';
}
//Nếu người dùng chưa đăng nhập thì bắt buộc phải đăng
nhập
if (!isset($_SESSION['is_valid_admin'])) {
$action = 'login';
}
25. Mã điều khiển
cho trang web được bảo vệ
Bài 4 - Bảo mật cho website 25
//Thực thi hành động
switch($action) {
case 'login':
$email = $_POST['email'];
$password = $_POST['password'];
if (is_valid_admin_login($email, $password))
{
$_SESSION['is_valid_admin'] = true;
include('view/admin_menu.php');
} else {
$login_message = 'You must login to
view this page';
include('view/login.php');
}
break;
26. Mã điều khiển
cho trang web được bảo vệ
Bài 4 - Bảo mật cho website 26
case 'show_admin_menu':
include('view/admin_menu.php');
break;
case 'show_product_manager':
include('view/product_manager.php');
break;
case 'show_order_manager':
include('view/order_manager.php');
break;
case 'logout':
$_SESSION = array();
session_destroy();
$login_message = 'You have been logged out';
include('view/login.php');
break;
}
27. File xác nhận tài khoản admin:
Đoạn mã ở đầu trang đăng nhập:
Áp dụng
Bài 4 - Bảo mật cho website 27
<?php
//Đảm bảo người dùng tài khoản admin đúng
if (!isset($_SESSION['is_valid_admin'])) {
header("Location: .");
}
?>
<?php
//Đòi hỏi kết nối bảo mật
require_once('util/secure_conn.php');
?>
28. Đoạn mã ở đầu các trang được bảo vệ:
Áp dụng
Bài 4 - Bảo mật cho website 28
<?php
//Đòi hỏi kết nối bảo mật
require_once('util/secure_conn.php');
//Đòi hỏi tài khoản người dùng đúng
require_once('util/valid_admin.php');
?>
29. Hình ảnh minh họa
cho xác thực cơ bản
Bài 4 - Bảo mật cho website 29
33. Mã PHP đảm bảo tài khoản người dùng là đúng:
Ví dụ
Bài 4 - Bảo mật cho website 33
<?php
require_once('model/database.php');
require_once('model/admin_db.php');
$email = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW'];
if (!is_valid_admin_login($email, $password)) {
header('WWW-Authenticate: Basic realm="Admin"');
header('HTTP/1.0 401 unauthorized');
include('unauthorized.php');
exit();
}
?>
34. Mã PHP ở đầu mỗi trang web được bảo vệ:
Ví dụ
Bài 4 - Bảo mật cho website 34
<?php
//Đòi hỏi kết nối bảo mật
require_once('util/secure_conn.php');
//Đòi hỏi tài khoản admin đúng
require_once('util/valid_admin.php');
?>
35. Giới thiệu thư viện mcrypt
Cách mã hóa và giải mã dữ liệu
Lớp chứa dữ liệu được mã hóa
Mã hóa và giải mã dữ liệu
Bài 4 - Bảo mật cho website 35
36. PHP cung cấp sẵn thư viện mcrypt để hỗ trợ mã
hóa và giải mã dữ liệu
Một số khái niệm:
Cipher
Chế độ hoạt động (mode of operation)
CBC (cipher-block chaining)
Vector khởi tạo (Initialization Vector - IV)
Thư viện mcrypt
Bài 4 - Bảo mật cho website 36
37. Một số hàm trong thư viện mcrypt:
Mcrypt_get_iv_size($cipher, $mode)
Mcrypt_create_iv($ivs)
Mcrypt_encrypt($cipher, $key, $data, $move, $iv)
Mcrypt_decrypt(($cipher, $key, $data, $move, $iv)
Thư viện mcrypt
Bài 4 - Bảo mật cho website 37
38. Một số hằng trong thư viện mcrypt:
MCRYPT_RIJNDAEL_128
MCRYPT_RIJNDAEL_192
MCRYPT_RIJNDAEL_256
MCRYPT_MODE_CBC
Hai hàm chuyển đổi giữa dữ liệu nhị phân và
base64:
Base64_encode($data)
Base64_decode($data)
Thư viện mcrypt
Bài 4 - Bảo mật cho website 38
41. Lớp Crypt
Bài 4 - Bảo mật cho website 41
public function encrypt($data) {
$data = mcrypt_encrypt($this->cipher, $this-
>key, $data, $this->mode, $this->iv);
$data = base64_encode($data);
return $data;
}
public function decrypt($data) {
$data = base64_decode($data);
$data = mcrypt_decrypt($this->cipher, $this-
>key, $data, $this->mode, $this->iv);
return $data;
}
}
?>
42. Sử dụng lớp Crypt
Bài 4 - Bảo mật cho website 42
require 'crypt.php';
$credit_card_no = '4111111111111111111';
//Tạo đối tượng Crypt
$crypt = new Crypt();
//Sử dụng đối tượng Crypt để mã hóa dữ liệu
$data = $crypt->encrypt($credit_card_no);
echo 'Encrypted data: ' . $data . '<br />';
//Sử dụng đối tượng Crypt để giải mã dữ liệu
$credit_card_no = $crypt->decrypt($data);
echo 'Decrypted data: ' . $credit_card_no . '<br />';
43. Kết nối bảo mật sử dụng giao thức TLS và SSL
Khi trình duyệt gửi yêu cầu tới máy chủ qua kết
nối bảo mật thì máy chủ tự xác thực bằng chứng
nhận bảo mật điện tử (digital secure certificate)
Bài 4 - Bảo mật cho website 43
Tổng kết bài học
44. Quy trình sử dụng SSL trong ứng dụng web:
Người dùng gửi yêu cầu mua chứng nhận bảo mật
điện tử tới CA
CA xác thực thông tin yêu cầu quá RA
CA gửi cho người dùng chứng nhận bảo mật điện tử
Người dùng gửi cho người quản trị hosting để cài lên
máy chủ
Mã hóa dữ liệu bằng hàm sha1
PHP cung cấp thư viện mcrypt hỗ trợ mã hóa và
giải mã dữ liệu
Tổng kết bài học
Bài 4 - Bảo mật cho website 44