Chương 6: Một số vấn đề trong quản trị, bảo mật website, website mã nguồn mở và các web api



tải về 17.99 Kb.
Chuyển đổi dữ liệu26.03.2019
Kích17.99 Kb.

Chương 6: Một số vấn đề trong quản trị, bảo mật website, website mã nguồn mở và các web API

  • Các công cụ quản lý server

    • PHP platform (XAMPP đã hỗ trợ)

    • CSDL Mysql (XAMPP đã hỗ trợ)

    • Quản lý upload file

      • Filezilla

      • CuteFTP

  • Quản lý tên miền

    • Quy định đặt tên miền

      • Tên miền không được vượt quá 63 ký tự (đã bao gồm phần .com, .net, .org, .info).

      • Tên miền chỉ bao gồm các ký tự trong bảng chữ cái (a-z), các số (0-9) và dấu (-). Khoảng trắng và các ký tự đặc biệt khác đều không hợp lệ.

      • Không bắt đầu hoặc kết thúc tên miền bằng dấu (-).

      • Tên miền không cần bắt đầu bằng http:// hoặc www hay http://www.

    • Đặt tên miền như thế nào

      • Ngắn gọn, dễ nhớ

      • Liên quan đến thương hiệu, sản phẩm

      • Hướng đến đối tượng sử dụng Website

      • Không gây nhầm lẫn

      • Khó viết sai

    • Tra cứu tên miền hợp lệ:

      • http://www.vnnic.vn/tenmien/ - Tra cứu tên miền Việt Nam .vn

      • http://www.whois.com/ - Tra cứu tên miền quốc tế (.com, .net, .org, .biz, .info ….)

    • Thuê tên miền





  • Cấu hình tên miền

    • Sử dụng trình quản lý tên miền của nhà cung cấp, đăng nhập bằng chính tên miền và mật khẩu được cung cấp khi thuê





  • Bài tập:

    • Tự đặt tên miền cho đề tài của nhóm mình, đảm bảo được các yếu tố về một tên miền hợp lý và tên miền đó vẫn còn khả dụng (chứng minh bằng cách check trên các hệ thống kiểm tra tên miền) và đưa vào báo cáo.

    • Lưu ý: Các nhóm không nhất thiết phải mua tên miền đã chọn, trong báo cáo chỉ cần đưa ra tên miền, giải thích ý nghĩa tên miền theo các tiêu chí đã được gợi ý và đảm bảo tên miền còn khả dụng.



  • Sao lưu và phục hồi Website

  • Sao lưu và phục hồi Cơ sở dữ liệu MySql

  • Sao lưu mã nguồn Website

    • Sao lưu chức năng

    • Sao lưu giao diện

  • Nguyên tắc chung:

    • Người dùng sẽ dựa vào việc ghép nối các chuỗi khi truyền biến trong mã nguồn để tận dụng các lỗ hổng trong việc truy vấn cơ sở dữ liệu.

    • Người dùng cố tình nhập dữ liệu lỗi hoặc truy cập vào các liên kết con trong website nhằm mục đích để hệ thống hiển thị lỗi => nắm được cấu trúc thư mục, các file xử lý của hệ thống và tấn công vào đó.

  • Ví dụ 1:

    • Câu lệnh trong code:

SELECT * FROM Users WHERE username = ‘. $username. ‘ and password = ‘. $password. ‘;

    • Khi đăng nhập, người dùng sẽ nhập username và password là: user ‘or 1=1

SELECT * FROM Users WHERE username = ‘admin’ or 1=1 and password = $password

=> câu lệnh truy vấn luôn đúng

  • Ví dụ 2:

  • Câu lệnh trong code:

    • $txtUserId = $_GET[UserId];
      $txtSQL = "SELECT * FROM Users WHERE UserId = " . $txtUserId;

  • Khi đăng nhập, người dùng sẽ cố tình nhập biến $txtUserId = 105”; DROP TABLE Suppliers

    • SELECT * FROM Users WHERE UserId = “105”; DROP TABLE Suppliers

    • => Vô tình tạo ra 1 câu truy vấn nguy hiểm cho sở sở dữ liệu (Bảng Suppliers sẽ bị xóa)

  • Giải pháp

  • Luôn kiểm tra cẩn thận các biến trước khi sử dụng, đặc biệt là các biến được truyền vào từ người dùng (thông qua phương thức post hoặc get)

  • Kiểm tra cẩn thận input và output của các function trước khi dùng.

  • Bắt đầy đủ các exception và các trường hợp phát sinh trong mã nguồn, hạn chế tối đa việc hiển thị lỗi hệ thống ra bên ngoài.

  • Quy định nghiêm ngặt các ký tự được phép nhập, không cho phép người dùng nhập các ký tự đặc biệt và đáng ngờ (“, ‘, \ ….)

  • Sử dụng các hàm trong php giúp loại bỏ ký tự đặc biệt:

    • addslashes($string);

    • mysqli_real_escape_string($string)



  • Framework mã nguồn mở và các API

  • Framework PHP: Các bộ mã nguồn được phát triển một cách tương đối hoàn chỉnh bằng PHP, cung cấp các thư viện riêng và được sử dụng với nhiều mục đích khác nhau

    • General framework: Bộ mã nguồn được viết trên nền PHP, chưa phải là một ứng dụng đầy đủ mà được sử dụng để lập trình ra các ứng dụng khác.

    • Application framework: Ứng dụng đã tương đối hoàn chỉnh, người dùng có thể cài đặt và sử dụng ngay, đồng thời có khả năng phát triển thêm các chức năng và giao diện tùy thuộc theo yêu cầu sử dụng.

  • General framework

    • Cake PHP

    • Code Igniter

    • Zend framework

    • Sympony

    • ……..

  • Application Framework

    • Hệ quản trị nội dung (CMS)

      • Joomla

      • Wordpress

      • Drupal

      • PHPNuke

      • Nuke Viet

    • Hệ quản trị học tập

      • Moodle

    • Diễn đàn (Forum)

      • PHPBB

      • MyBB

      • Discuzz

    • Thương mại điện tử

      • Open cart

      • Magento

  • Giới thiệu framework Opencart

    • Demo cài đặt và sử dụng

    • Bài tập: tự cài đặt và sử dụng 1 framework khác (Joomla, Wordpress, Magento, …)

  • API Facebook

    • Ví dụ: Chèn bình luận facebook vào Web





  • Chèn đoạn lệnh sau vào nơi cần hiển thị khung bình luận









Поделитесь с Вашими друзьями:


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©tieuluan.info 2019
được sử dụng cho việc quản lý

    Quê hương