1. HỆ ĐIỀU HÀNH VÀ NGÔN NGỮ PHÁT TRIỂN
+ Sơ sở hạ tầng triển khai hệ thống :
Ngôn ngữ phát triển hệ thống: PHP & MySQL
Operating system: Windows Server 2008 R2 hoặc Linux Framework: Moodle, VBB & Joomla
+ Công cụ phát triển hệ thống :
PHP Designer hoặc Dreamweaver CS6, MySQL Yog
+ Công nghệ và phần cứng sử dụng : Công nghệ sử dụng và đề nghị
1 Main Technology PHP >= 5
2 Client-side technologies Javascript, Jquery and it's plugins
3 Platform, SDK or Library Linux OS, Joomla 1.6 , Moodles
4 DBMS MySQL >=5
5
Cơ sở hạ tần triển khai ứng
dụng VPS #2
CPU:E5405/E5520
HDD: 120GB
RAM: 1GB + 512MB free
Bandwidth: Unlimited
Phí khởi tạo: Free
945.000đ x 01 tháng 945.000đ x 03 tháng 845.000đ x 06 tháng 745.000đ x 12 tháng 5 Các phần mềm nền Linux Centos 5.x:
Cài sẵn Apache 2.2, PHP5, MySQL5, firewall APF, Control Panel: Kloxo
2. VẤN ĐỀ VỀ BẢO MẬT
Để hệ thống bảo mật thì phải đảm bảo từ 2 phía: bảo mật từ phía lập trình và bảo mật từ phía hệ thống.
+ Bảo mật từ phía lập trình
- Tuân thủ trực tiếp các tiêu chuẩn bảo mật của OWASP: o A1 – Thực thi mã script xấu (XSS)
o A2 – Thực thi mã script xấu (XSS)
o A3 – Hư hỏng cơ chế chứng thực và quản lý phiên làm việc o A4 – Đối tượng tham chiếu thiếu an toàn
o A5 – Giả mạo yêu cầu (CSRF) A5 – Giả mạo yêu cầu (CSRF) o A6 – Sai sót cấu hình an ninh
o A7 – Hư hỏng cơ chế chứng thực và quản lý phiên làm việc o A8 – Lưu trữ mật mã không an toàn
o A9 – Thiếu bảo vệ lớp vận chuyển
o A10 – Sai sót hạn chế truy cập A8 – Sai sót hạn chế truy cập
- Mật khẩu của các tài khoản được mã hóa 1 chiều (Hashed) trước khi lưu trữ, đảm bảo độ an toàn cho mật khẩu, ngay cả người quản trị hệ thống khi có quyền truy cập trực tiếp vào website cũng không thể lấy được mật khẩu của người dùng.
- Không lưu trữ bất kỳ thông tin nhạy cảm, bảo mật nào mà chưa được mã hóa vào Cookie. Mỗi phiên truy cập (Session) luôn có 1 ID riêng biệt.
- Quyền truy cập các phần trong backend được phân quyền chặt chẽ trên vai trò và cho từng tài khoản.
- Sử dụng kỹ thuật Captcha xác thực người dùng để ngăn chặn các chương trình bot.
- Quản lý tốt các lỗi phát sinh từ ứng dụng: sử dụng cơ chế quản lý lỗi như sau: khi có lỗi xảy
- ra hoặc chương trình sẽ tiếp tục chạy những phần khác (nếu lỗi không gây ra tình trạng
- ngưng trệ) hoặc chương trình sẽ hiển thị thông báo lỗi thân thiện cho người dùng (không
- hiển thị chi tiết lỗi) và đồng thời ghi nhận lỗi vào cơ sở dữ liệu cho phép người quản trị
- phân tích sau.
+ Bảo mật từ hệ thống
Đây là nhiệm vụ của người quản trị hệ thống server, đề xuất:
- Hỗ trợ thiết lập các cấu hình trên server để phòng chống DDOS
- Thông qua firewall chỉ mở các cổng cần thiết phục vụ cho các ứng dụng cụ thể như cổng
- 80 để truy cập đến dịch vụ web.
- Xác lập sercurity template ở mức cao nhất cho web server.
- Cập nhật đầy đủ các bản vá lỗi cho các chương trình cài đặt trên server Cấu hình sao lưu dữ liệu và cơ sở dữ liệu định kỳ.
- Có thể cài đặt tách riêng hệ thống ra thành 2 đường dẫn riêng biệt dành cho backend và frontend, cấu hình kết nối đến database với 2 tài khoản khác nhau cho backend và frontend.
- Giải pháp để tránh những vấn đề này yêu cầu các lập trình viên cần tuân thủ các vấn đề trong tài liệu ở liên kết sau: http://owasptop10.googlecode.com/files/OWASPTop%2010%20- %202010%20Vietnamese.pdf
3. TỐI ƯU HOÁ WEBSITE (SEO)
Có 2 bước tối ưu hoá website như sau:
Onpage Optimization: cấu trúc lập trình và nội dung website phải đảm bảo các tiêu chí của SEO.
Offpage Optimazation: xây dựng liên kết với các website khác để tăng thứ hạng. Đây là bước thực hiện sau khi website đã chạy chính thức và là 1 dịch vụ riêng biệt.
Trong quá trình triển khai xây dựng trang web, ICSC cam kết thực hiện tối ưu hóa website ở bước Onpage Optimazation theo các tiêu chí sau:
TIÊU CHÍ CÔNG VIỆC THỰC HIỆN
Không sử dụng cloaking, link ẩn, text ẩn dưới CSS Đảm bảo trong mã lập trình
Không nên tạo site với những frames Đảm bảo trong mã lập trình
Xử lý non www 301 redirect Thực hiện khi website chạy chính thức
Sửa tất cả links lỗi, ảnh lỗi
Thực hiện khi website chạy hình thức
Tạo custom 404 page Đảm bảo trong mã lập trình
Cấu hình các Meta tag: tile, Description, Keywords cho từng chuyên mục, từng bài viết
Sử dụng Friendly URL Đảm bảo trong mã lập trình
Khái báo sitemap, tạo file robots.txt Thực hiện khi website chạy chính thức
Cấu hình Google Analytics Thực hiện khi website chạy chính thức
Thêm thuộc tính thẻ “rel=nofollow cho tất cả các link ra ngoài
Đảm bảo trong mã lập trình và khi cập nhật nội dung
Kiểm tra và chỉnh các lỗi về HTML và CSS thông qua W3C
Thực hiện khi website chạy chính thức
Tất cả hình ảnh đều phải có thẻ Alt Thực hiện khi website chạy chính thức
Sử dụng các tag H1,H2, H3 Đảm bảo trong mã lập trình
4. PHÁT TRIỂN TRONG TƯƠNG LAI Phần mềm được thiết kế trên cơ sở sau: Phần mềm được thiết kế trên cơ sở sau:
Tính khả mở
Khả năng dễ mở rộng, phát triển hệ thống – bao gồm cả trong giải pháp phần cứng lẫn giải pháp phần mềm. Công ty có thể dễ dàng tạo thêm các khóa học, đăng ký thêm học viên... Bên cạnh đó, mã nguồn của hệ thống được chuyển giao cho Honda, do vậy có thể chủ động trong việc phát triển và mở rộng hệ thống
Tính khả chuyển
Khi phát sinh một đại lý, hay cần cài đặt chương trình trên một hệ thống máy mới, bộ phận tin học của các chi nhánh hoàn toàn có thể tự thiết lập được mà không cần bất kỳ một hỗ trợ nào từ phía công ty phần mềm.
Tính khả tích:
Do hệ thống được phát triển trên hệ nền mã nguồn mở, do vậy cho phép chương trình dễ dàng tích hợp với các chương trình khác như: lao động tiền lương, nhân sự, kế toán... bằng cách sử dụng các chuẩn công nghệ mới và phổ biến nhất, hệ thống đảm bảo sẽ có tuổi thọ kéo dài và dễ dàng tích hợp, trao đổi thông tin, dữ liệu với các chương trình ứng dụng khác.
Tính bảo mật thông tin và an toàn dữ liệu
Với mô hình dữ liệu tập trung cùng chức năng sao lưu và tạo bản dự phòng dữ liệu (Backup data), cùng với hỗ trợ của giải pháp hệ thống máy chủ song hành sẽ mang lại cho hệ thống chúng ta một độ an toàn tối ưu.
Tính dễ dùng, thân thiện
Người sử dụng chương trình không cần phải có một bằng cấp hoặc kỹ năng chuyên sâu nào về tin học cả, mà chỉ cần biết sử dụng máy tính, sử dụng tốt bàn phím và con chuột là có thể sử dụng tốt được chương trình.
Tính hiệu quả
Đây là trọng tâm hàng đầu của hệ thống, tất cả các yếu tố chúng tôi phân tích, diễn giải bên trên đều không nằm ngoài mục đích: Hiệu quả sử dụng cuối cùng của hệ thống.