Báo cáo Thực hành mạng máy tính - Tìm hiểu về Web PHP
PHP (PHP: Hypertext Preprocessor) là m ột ngôn ngữ lập trình kịch bản hay
một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy
chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và
có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng
web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây
dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã
nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
Cách này,tên miền trang web được thay đổi,nhưng các đường dẫn bên trong không thay đổi. - Tạo trang báo lỗi mang tính cá nhân ErrorDocument 403 /403.html ErrorDocument 401 /401.html ErrorDocument 400 /400.html ErrorDocument 500 /500.html ErrorDocument 404 /404.html * 401 - Authorization Required (cần password để truy nhập) * 400 - Bad request (Lỗi do yêu cầu) * 403 - Forbidden (không được vào) * 500 - Internal Server Error (lỗi server) * 404 - Wrong page (lỗi trang* không tìm thấy...) Khi gặp các tình huống lỗi như Bad Request(400), Is Not Working(401), Access Forbidden(403),Not page found(404), Internal Server Error(500)…nó sẽ tự động chuyển sang các trang 404.html…. - Cấm IP truy cập allow from all //cho phép tất cả các IP deny from 123.123.123.123 //Cấm Ip 123.123.123.123 Tìm hiểu về PHP November 20, 2011 Trang 17 deny from 123.123 //Cấm tất cả các IP 123.123.*.* - Đặt email mặc định cho server admin ServerSignature Email SetEnv SERVER_ADMIN diachimai@tenweb - Bảo vệ file Giúp trang web từ chối khi người dùng truy cập vào bất kỳ file nào và gửi về lỗi 403 order allow,deny deny from all - Đặt mã cho thư mục và file AuthType basic AuthName “Thư mục này đã được bảo vệ” AuthUserFile /home/path/.htpasswd AuthGroupFile /dev/null Require valid-user # Đặt mã cho file AuthType Basic AuthName “Prompt” AuthUserFile /home/path/.htpasswd Require valid-user Yêu cầu cần có file .htapasswd có nội dung @domain::@dGdK8ZQg/FjU User @domain pass là @domain đã được mã hóa. - Đặt lại trang mặc định. Khi truy cập vào 1 thực mục trên host,hệ thống tự động chạy tập tin index. Có thể đổi chế độ mặc định này bằng cách thêm vào file .htaccess nội dung Tìm hiểu về PHP November 20, 2011 Trang 18 DirectoryIndex about.html - Nén file với Gzip Nén dữ liệu trên sever và tải xuống giúp tăng tốc độ load trang. AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html - Các tính năng với URL #Thêm / vào cuối URL RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !# RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ [L,R=301] #Có thể đặt .tuyy ở sau địa chỉ trang web trên URL đều được. #Bỏ hiện .php ở url RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L] #Chuyển mọi truy cập từ thành RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^example.com$ [NC] RewriteRule ^(.*)$ [L,R=301] Tìm hiểu về PHP November 20, 2011 Trang 19 #Thêm www vào URL RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www.example.com$ [NC] RewriteRule ^(.*)$ [L,R=301] - Bảo mật file Ở thu mục có chứa file .htaccess có đoạn mã Options All –Indexes thì các file và thư mục ở đó đều được bảo mật ko truy vấn trên trình duyệt được. 17. Mô tả cách cài đặt và khởi động, dừng memcached trên windows, linux Hệ thống Windows Truy cập tải bản zip cho windows và cài đặt lên máy chủ. Giải nén memcache vào một thư mục c:\memcache. Cài đặt memcache bằng lệnh: c:\memcacache\memcached -d install Khởi động memcache server lệnh: c:\memcacache\memcached -d start Hệ thống Linux (Ubuntu) Cài đặt qua Terminal cd /usr/src/ wget tar -zxvf memcached-2.2.4.tgz cd memcached-2.2.4 phpize && ./configure --enable-memcache && make cp modules/memcache.so /usr/lib/php/modules/ Tìm hiểu về PHP November 20, 2011 Trang 20 Vào thư mục /etc/php.d và mở file: /etc/php.d/memcached.ini thêm vào dòng dưới đây echo 'extension=memcache.so' Khởi động lại apache để add memcache vào php. Nếu máy chưa cài php5 thì cài đặt apt-get install php5-memcache 18. Liệt kê các hàm cơ bản của Memcached 19. Mô tả tính ưu việt của cấu trúc MVC (model-view-controller). Model View Controller (MVC) là tên một phương pháp chia nhỏ một ứng dụng thành ba thành phần để cài đặt, mỗi thành phần đóng một vai trò khác nhau và ảnh hưởng lẫn nhau, đó là models, views, và controllers. Models là những thành phần có nhiệm vụ lưu trữ thông tin, trạng thái của các đối tượng, thông thường nó là một lớp được ánh xạ từ một bảng trong CSDL. Tìm hiểu về PHP November 20, 2011 Trang 21 Views là các thành phần chịu trách nhiệm hiển thị các thông tin lên cho người dùng thông qua giao diện. Các thông tin cần hiển thị được lấy từ thành phần Models. Controllers chịu trách nhiệm xử lý các tác động về mặt giao diện, các thao tác đối với models, và cuối cùng là chọn một view thích hợp để hiển thị ra màn hình. Trong kiến trúc MVC, view chỉ có tác dụng hiển thị giao diện mà thôi, còn điều kiển dòng nhập xuất của người dùng vẫn do Controllers đảm trách. Tính ưu việt của MVC Bắt buộc phải tạo ra một sự rành mạch trong liên kết giữa 3 thành phần models, views và controllers trong ứng dụng. Duy trì được mối quan hệ rành mạch rõ ràng này khiến việc kiểm tra ứng dụng trở nên dễ dàng hơn, đồng thời trách nhiệm của từng thành phần được định nghĩa rõ ràng và cả ba đều làm việc ăn ý với nhau. Cho phép sự chia tách rành mạch giữa các thành phần, mỗi thành phần đều có khả năng được test riêng biệt.Tất cả các mối liên hệ chính yếu trong MVC đều có giao diện để hiển thị và đều có thể xây dựng thành các mô hình, và bao gồm interface-based IHttpRequest/IHttpResponse. Được thiết kế để có thể dễ mở rộng và tiện dụng, tất cả mọi thứ trong MVC framework đều có thể nhanh chóng được thay đổi, tùy chọn hóa. Ví dụ bạn có thể viết một View và sử dụng cho nhiều ứng dụng khác nhau, đây là tính pluggable. Bao gồm thành phần ánh xạ URL cho phép bạn xây dựng các ứng dụng thân thiện với bộ máy tìm kiếm và với người dùng. MVC framework hỗ trợ sử dụng các các tập tin .ASPX, .ASCX và .Master như là thành phần View, điều đó có nghĩa là bạn vẫn có thể sử dụng các tính năng của ASP.NET như master pages, snippets, server controls, templates, data-binding, localization... Tuy nhiên nó không sử dụng mô hình post-back từ giao diện gửi đến server nữa, thay vào đó,ta thể chủ động đưa những post-back từ giao diện đó đến thẳng lớp Controller.Không còn viewstate hay là page lifecycle còn tồn tại trong mô hình MVC. Tìm hiểu về PHP November 20, 2011 Trang 22 Vẫn tiếp tục hỗ trợ các tính năng ASP.NET như là forms/windows authentication, URL authorization, membership/roles, output and data caching, session/profile state management, health monitoring, configuration system, the provider architecture... 20. Muốn sử dụng smarty ta phải làm những gì? Smarty là một hệ thống tạo mẫu web (web template system) được viết trên nền PHP. Smarty được giới thiệu như là một công cụ cho việc chia nhỏ các quá trình thiết kế trang web. Đây là một chiến lược thiết kế cho các ứng dụng web hiện đại. Smarty tạo ra các nội dung web từ các vị trí đặc biệt được gọi là smarty tag . Các tag này được nằm trong các mẫu (template). Các tag này sẽ được xử lý và chèn vào với các code khác nhau. Các tag này là chỉ thị cho Smarty mà có thể được bao đóng bới tag mở và tag khóa. Những hướng dẫn này có thể là biến, và được định nghĩa bởi dấu ($), các chức năng, hàm logic hoặc các luồng điều khiển. Smarty cho phép các lập trình viên có thể tự định nghĩa các chứng năng và truy cập sử dụng các Smarty tag. Smarty là kết quả của việc tối ưu hóa và phân luồng công việc, cho phép trình diễn các trang web bằng cách chia nhỏ chúng ở đầu cuối (back-end). Ý tưởng Tìm hiểu về PHP November 20, 2011 Trang 23 đó đã giúp giảm thiểu rất nhiều giá thành và sự đồ sộ của các phần mềm. Dưới mỗi một ứng dụng thành công thì luôn phân chia thành 2 mảng là người thiết kế chính là lá chắn bảo về mã nguồn sau (back-end coding) và người lập trình php được bảo vệ bới mã trình diễn. Smarty hỗ trợ một vài ngôn ngữ lập trình bậc cao, bao gồm: Điều khiển luồng dữ liệu, Foreach if, elseif, else Biến thay đổi Người dùng tạo chức năng Bên cạnh đó, thì một trong những chức năng nổi bật của các Template Engine là hệ thống tạo mẫu cho phép thay đổi từ mẫu tới mẫu. Thông thường khi lập trình PHP bạn hay viết lẫn cả phần HTML với mã lệnh PHP trên một trang. Điều này sẽ dẫn đến rất rối nhất là khi bảo trì. Tất cả những điều này sẽ làm giảm năng xuất công việc của bạn đi rất nhiều. Smarty ra đời đã giải quyết được các vấn đề nêu trên. Ưu điểm của Smarty: Tốc độ load trang rất nhanh (do tạo được cache) Code ứng dụng của bạn trở lên trong sáng, mạch lạc và dễ bảo trì hơn rất nhiều (do tách biệt phần code và templates). Hiệu quả công việc đạt tối đa (Người thiết kế và người lập trình làm việc hoàn toàn độc lập. Thay đổi giao diện website nhanh chóng... ) Được sử dụng phổ biến ( bên Nhật rất ưa chuộng Smarty ) Cài đặt và sử dụng Smarty trên Windows Tải bản smarty tại địa chỉ: bản 3.1.5 Giải nén file đã tải về. (D:\APPSERV\Smarty) Chỉnh sửa file php.ini thêm vào đó include_path = ".;D:\APPSERV\Smarty\libs" Restart IIS/Apache Upload thư mục demo lên host (D:\APPSERV\www\HocTap\Smarty\demo) và chạy đường dẫn trên trình duyệt. Tìm hiểu về PHP November 20, 2011 Trang 24 Cài đặt trên Linux UBUNTU Chạy lệnh: cd DOWNLOAD tar -zxvf Smarty-3.1.5.tar.gz mkdir /usr/local/lib/php/Smarty cp -r Smarty-3.1.5/libs/* /usr/local/lib/php/Smarty Tiếp tục : cd /phamdinhcuong/www/ mkdir smarty mkdir smarty/templates mkdir smarty/templates_c mkdir smarty/cache mkdir smarty/configs chown nobody:nobody smarty/templates_c chown nobody:nobody smarty/cache chmod 775 smarty/templates_c chmod 775 smarty/cache Tìm hiểu về PHP November 20, 2011 Trang 25 Copy mã nguồn smarty vào thư mục smarty vừa tạo ra và chạy như trên windows. Các phần mềm cài đặt được sử dụng trên 2 phiên bản windows là win 7 và win xp(máy ảo) và trên Ubuntu 10.04
File đính kèm:
- Báo cáo thực hành mạng máy tính - Tìm hiểu về Web PHP.pdf