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

