Tải bản đầy đủ (.pdf) (25 trang)

BÁO CÁO THỰC HÀNH MẠNG MÁY TÍNH " TÌM HIỂU VỀ WEB-PHP " pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (615.67 KB, 25 trang )

Tìm hiểu về PHP November 20, 2011
Trang 1

BÁO CÁO THỰC HÀNH
MẠNG MÁY TÍNH

TÌM HIỂU VỀ WEB-PHP

1.PHP là cái gì?
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.

2.MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và
được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển,
hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích
rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng
dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn
có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành
khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac
OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan
hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó
làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,


Tìm hiểu về PHP November 20, 2011
Trang 2


3.Memcached
Memcached là một hệ thống lưu trữ bản sao các đối tượng (objects) và dữ liệu
được truy cập nhiều lần để tăng tốc độc truy xuất. Nó thường được sử dụng để
tối ưu hóa việc tải dữ liệu từ cơ sở dữ liệu cho các ứng dụng trên nền web.
Vào lúc đầu, hệ thống memcached được phát triển bởi Danga Interactive và
dùng cho LiveJournal. Sau đó memcached trở nên phổ biến và được dùng trên
các trang web khác.
Memcache là một daemon, có nghĩa là nó chạy như một dịch vụ riêng biệt trên
máy tính của bạn. Cũng giống như MySQL chạy như một dịch vụ riêng biệt.
Trong thực tế, để sử dụng memcache trong PHP bạn phải kết nối đến nó, giống
như MySQL.
Memcached là một công cụ nhằm mục đích phân phối bộ nhớ đệm, công cụ
được sử dụng trên nhiều trang web khác. Nó thường được dùng để tăng tốc độ
trang web bằng cách điều khiển bộ nhớ đệm dữ liệu và các đối tượng trong bộ
nhớ RAM để giảm số lần phải được đọc một nguồn dữ liệu bên ngoài.
Memcached chạy trên Unix, Windows và hệ điều hành MacOS và phân phối
theo một giấy phép về phần mềm miễn phí.
Memcaches hoạt động tương tự mô hình truy vấn dữ liệu (data) từ CPU tới các
loại bộ nhớ có dạng sau:
CPU <==>Cache Memory <==>RAM <==> HDD (ổ cứng).

4.Ví dụ:
Các trang google.com hay facebook.com là các trang nổi tiếng về số luợt nguời
truy cập và tốc độ cực nhanh.Hầu hết các trang web lớn đều đưa công nghệ
memcache vào: Youtube, Wikipedia, Flickr, Twitter
Công nghệ memcache được sử dụng khá rộng rãi trên các trang này.Nó có hàng

ngàn cổ sever đặt khắp các nước trên thế giớ và có 1 lượng lớn sever cố định 1
nơi để chạy resource còn lại chạy cache ở mỗi nước. Nếu IP nước nào truy cập
Tìm hiểu về PHP November 20, 2011
Trang 3

vào nó sẽ lưu cache vào sever nước đó và khi đó nó chỉ việc lôi cái cache đó ra
cho người khác sử dụng.

5.Các công cụ sọan thảo php.
File PHP hoàn tòan có thể xem được bằng các trình soạn thảo sẵn có như
notepad (windows) hay gedit(ubuntu)
Nhưng thuận tiện cho việc xây dựng code PHP,dễ dàng phân biệt các tập lệnh
thì nên cài thêm 1 số công cụ hữu ích hỗ trợ đa ngôn ngữ.
Trong windows có notepad++, Dreamweaver – là 1 phần mềm hữu ích để chỉnh
sửa PHP có kết nối Database
Trong linux (cụ thể là ubuntu) dùng gedit – công cụ cài mặc định cũng sử dụng
tương đối tốt cho việc xem code.Còn dùng soạn thảo có thể dùng Eclipse.Hay
gPHPedit

6.phpMyAdmin
Cụ thể mà nói thì phpMyAdmin chỉ là tập hợp nhiều trang php, chứ không hẳn
là một chương trình, nhưng đấy là những trang php đã được lập trình sẵn để
mình sử dụng cho nó tiết kiệm thời gian.
PhpMyAdmin là nơi tạo ra và quản lý danh sách các cơ sở dữ liệu,kết nối tới cơ
sở dữ liệu qua các tập lệnh.Nó dễ dàng thay đổi được database,thêm bớt chỉnh
sửa bằng các giao diện đồ họa.
PhpMyAdmin tích hợp sẵn SQL (điều khiển database bằng dòng lệnh),
Export/Importer (Sao lưu và backup cơ sở dữ liệu).Empty (xóa hết dữ liệu đã
ghi trong các cột database).Drop(Xóa database).


7.Chức năng của Navicat.
Navicat (PremiumSoft Navicat) là công cụ quản trị và phát triển cơ sở dữ liệu
ưu việt.Với giao diện thân thiện với người sử dụng, Navicat cho phép bạn nhanh
chóng và dễ dàng tạo, sắp xếp, truy cập và chia sẻ thông tin theo cách an toàn và
Tìm hiểu về PHP November 20, 2011
Trang 4

tiện lợi.Navicat hỗ trợ đa kết nối MySQL server, giúp kết nối cục bộ hay từ xa.
Chức năng của "Navicat MySQL":
- Hỗ trợ tất cả các phiên bản của MySQL
- Hỗ trợ các chức năng của MySQL như Event(sự kiện), View(xem kết quả truy
vấn), Trigger, Stored Procedure(tạo các thủ tục lưu trữ)
- Hỗ trợ gõ tiếng Việt Unicode và hệ thống ký hiệu
- Hỗ trợ HTTP Tunnel và SSH Tunnel
- Hỗ trợ Foreign Key (khóa phụ) cho các bảng InnoDB
- Hỗ trợ Foreign Key cho chọn dữ liệu
- Xem trước Form
- In cấu trúc bảng
- Nhóm ảo
- Công cụ thiết lập truy vấn ảo – tạo câu truy vấn từ các cơ sỏ dữ liệu khác
nhau.
- Hỗ trợ sinh mã tự động hoàn chỉnh câu lệnh truy vấn, xem truy vấn(View) và
xem kết quả (Event)
- SQL console
- MySQL Views Builder
- Nhập dữ liệu thông qua ODBC
- Nhập dữ liệu từ Oracle sang MySQL
- Hỗ trợ nhập dữ liệu đối với 18 định dạng phổ biến bao gồm MS Access, MS
Excel, XML, PDF và TXT
- Kết xuất dữ liệu ra MS Access / MS Excel

- Kết xuất dữ liệu sang các định dạng file khác: MS Word, HTML, PDF, TXT,
CSV, DBF, XML, …
- Lập lịch cho các tác vụ sao lưu, nhập, xuất, chuyển dữ liệu, lưu truy vấn và dữ
liệu.
Sự đồng bộ hóa
- Gửi e-mail thông báo đối với các tác vụ đã được lập lịch
- Hỗ trợ Backup và phục hồi cơ sở dữ liệu MySQL
- Hỗ trợ chuyển dữ liệu giữa các cơ sở dữ liệu cụ bộ hay từ xa của MySQL
- Đồng bộ hóa dữ liệu và cấu trúc dữ liệu
- Lập báo cáo với tính năng Report Builder ảo.
- Kết xuất báo cáo ra các định dạng như PDF, Excel, HTML…
- Xem báo cáo với tính năng Report Viewer
Tìm hiểu về PHP November 20, 2011
Trang 5

- Quản lý người dùng ảo
- Quản trị Server.

8.Những web server nào hỗ trợ tính năng real time?



9.Cài đặt XAMPP trên windows
Do trên máy quen dùng APPSERV nên cài XAMPP trên máy ảo.
Truy cập trang chủ và chọn bản
XAMPP cho Windows và tải về. Bản hiện tại 1.7.7.
Sau khi tải về cài đặt như các phần mềm thông thường.
Sau đó chương trình cài đặt sẽ cài đặt XAMPP lên máy tính.

Quá trình cài đặt hoàn tất.

Tìm hiểu về PHP November 20, 2011
Trang 6

Mặc định User/pass đăng nhập phpMyAdmin là root/ mật khẩu bỏ trống.

10.Cài đặt PHP- mySql trên linux
Tùy từng phiên bản linux có các cài đặt khác nhau đôi chút.Có thể tải sẵn bản
xampp-linux-1.7.4.tar.gz dành cho linux giải nén ra và chạy lệnh .sh trong thư
mục bin để cài đặt và thiết lập các thông số.Cách này khá đơn giản và dễ thực
hiện.Các chương trình được ghi nhận tại thư mục đã giải nén.
Trên máy sử dụng ubuntu10.04 và có kết nối internet,việc cài đặt qua dòng lệnh
cũng nhanh chóng và dễ dàng.Tự tay có thể cấu hình toàn bộ các thông số của
php-mySQL.Cài đặt thông qua Terminal
Cài đặt mySQL sudo apt-get install mysql-server mysql-client
User mặc định là root.Trong qúa trình cài đặt chương trình sẽ yêu cầu pass cho
root.
Cài đặt Apache2 sudo apt-get install apache2
Khi cài xong,truy cập trang http://localhost hay http://127.0.0.1 sẽ hiển thị:





Cài đặt PHP5 sudo apt-get install php5 libapache2-mod-php5
Cài đặt phpMyAdmin sudo apt-get install phpmyadmin
Sau đó config lại file apache2.conf qua lệnh sau gksudo gedit
/etc/apache2/apache2.conf
Thêm vào dòng “Include /etc/phpmyadmin/apache.conf” vào cuối và restart lại
apache bằng lệnh sudo /etc/init.d/apache2 restart
Tìm hiểu về PHP November 20, 2011

Trang 7


Quá trình cài đặt hoàn tất.Thư mục web root nằm trong /var/www.
Muốn truy cập nơi này cần có tài khỏan root (ubuntu).Có thể đổi thư mục
webroot bằng cách thay đổi thông số file /etc/apache2/sites-enabled/000-default
qua lệnh gksu gedit /etc/apache2/sites-enabled/000-default

11.Đưa mã nguồn lên web server.
Nếu cài trên máy tính cá nhân dùng localhost thì ta chỉ việc copy mã nguồn
thẳng vào trong thư mục host (www) rồi chạy theo địa chỉ
http://localhost/thumucmanguon/ thế là Ok.
Trên web server của nhà cung cấp dịch vụ công việc này thực hiện trên trình
duyệt hoặc qua giao thức ftp.
Web sever (hay còn gọi máy phục vụ Web) là máy tính mà trên đó cài đặt phần
mềm phục vụ Web. đôi khi người ta cũng gọi chính phần mềm đó là Web
Server.Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html,
tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn
như IIS của Microsoft dành cho *.asp, *.aspx…; Apache dành cho *.php…; Sun
Java System Web Server của SUN dành cho *.jsp…
Để đưa mã nguồn lên web sever ta truy cập vào trang quản lý mà nhà cung cấp
dịch vụ tạo cho.

Tìm hiểu về PHP November 20, 2011
Trang 8


Truy cập vào phần File Manager và chọn vào thư mục public_html. Upload mã
nguồn vào thư mục này sẽ được hiển thị trên trang web.
Chọn vào nơi Upload,chọn dữ liệu cần Upload và đợi dữ liệu upload lên host.


Ở đây có điều đáng chú ý là CMOD file và thư mục.
Read(4) – quyền đọc dữ liệu,Write(2) – quyền ghi dữ liệu, Execute(1) – quyền
thực thi dữ liệu.
Thông thường,CMOD 755 với thư mục và 644 với file.
Với mã nguồn,trước khi upload nên Zip lại rồi upload file zip lên hosting và khi
upload xong giải nén ta sẽ tạo được toàn bộ mã nguồn cần upload lên host.
Tìm hiểu về PHP November 20, 2011
Trang 9

1 cách thông dụng là sử dụng phần mềm chuyên dụng. FileZilla là 1 trong
những phần mềm thông dụng cho việc này.

Với phần mềm này,việc download/upload dữ liệu chỉ việc kéo thả giữa 2 vùng
cửa sổ 1 và 2.Các thao tác cmod file trên host khá dễ dàng trên vùng 2( tương tự
như trên Cpanel quản lý của nhà cung cấp.

12.Cài đặt SVN server và client
Hệ thống SVN ( ) là một hệ thống quản lý phần tài
nguyên của một dự án. Hệ thống có khả năng tự cập nhật, so sánh và kết hợp tài
nguyên mới vào phần tài nguyên cũ.
SVN client là công cụ đắc lực để quản lý mã nguồn, bao gồm các thao tác chính
là thêm, bớt, sửa, xóa, checkin, checkout, so sánh phiên bản.
Mục tiêu chính của SVN :
Quản lý các phiên bản của một file nào đó (bất kỳ là file text, binary, ) vào
server SVN. Quá trình kiểm tra sẽ được SVN sẽ kiểm tra tại 2 nơi là thư mục dự
án (nơi thực hiện dự án) và thông tin dự án được lưu trữ trên server.
Khi kiểm tra file hiện hành có sự thay đổi so với trên server SVN là SVN sẽ tạo
một phiên bản mới lưu lại(khi người dùng update -> commit). Việc quản lý
phiên bản sẽ giúp việc phục hồi lại các version trước đó dể dàng mà không cần

Tìm hiểu về PHP November 20, 2011
Trang 10

phải lưu backup và thời gian trước sau, Khi lưu từng phiên bản sẽ cho phép
lưu kèm theo các thông tin liên quan như ai là người thay đổi , thay đổi chổ
nào, nội dung giúp cho việc quản lý source nguồn một cách rõ ràng. Việc lưu
trữ version SVN sự dụng các thuật toán so sánh và chỉ lưu trữ các thành phần
khác nhau của mỗi verision nên dung lượng lưu trữ sẽ được tối ưu so với việc
backup từng file.
Ví dụ như trên Google Site :

Cài đặt trên Windows :
- Cài đặt svn server.
Vào trang và tải bản
cài đặt về máy.
Hướng dẫn
Cài đặt SVN client
Eclipse và Zend Studio Notepad++đều có hỗ trợ SVN client dưới dạng
plugin.
Zend Studio thì đã tích hợp sắn.
Với Notepad++ vào phần plugin và thêm vào Tortoise SVN
Eclipse cần phải cài đặt nó bằng cách:
Vào menu Help > Install New Software Chọn repository “Helios –
nếu bạn đang sử dụng
phiên bản Helios. Nó có thể là phiên bản Gallieo hoặc Indigo.

Đợi hệ thống fetching các phần mở rộng.

Tìm hiểu về PHP November 20, 2011
Trang 11


Bạn chọn phần Collaborator > SVN. Chú ý thường ta chọn phiên bản
SVN connector mới nhất.
- Cài đặt trên Linux (UBUNTU
Cài đặt subversion qua lệnh sudo apt-get install subversion libapache2-svn
Tạo group sử dụng cho các user của subversion:
sudo addgroup svn #tạo tên svn
sudo adduser www-data svn
sudo adduser phamdinhcuong svn # user hiện tại đang login.
Tạo cấu trúc cho subversion: Chuyển quyển sở hữu cho nhóm svn
cd /home/phamdinhcuong/
mkdir -p svn/example &&cd svn/
svnadmin create example &&sudo chmod -R g+wrx example/
sudo chown -R :svn example/ &&ls -g example/
Khi đã chuyển quyền sở hữu cho nhóm svn,những user thành viên sẽ có
quyền truy xuất vào thư mục svn-trunk. Đặc biệt user www-data là user
của apache2 cũng có thể truy xuất vào svn-trunk.
Tạo danh sách username và password cho các người dùng subversion:
sudo htpasswd -c /etc/subversion/passwd <first username>
Khi tạo user hệ thống sẽ yêu cầu nhập mật khẩu mới cho user đó.
sudo htpasswd /etc/subversion/passwd <second username>

cat /etc/subversion/passwd
Tạo URL (http) cho subversion:
Thêm vào cuối file: sudo vim /etc/apache2/mods-enabled/dav_svn.conf
<Location /svn/example>
DAV svn
Tìm hiểu về PHP November 20, 2011
Trang 12


SVNPath /home/phamdinhcuong/svn/example
AuthType Basic
AuthName "subversion repository"
AuthUserFile /etc/subversion/passwd
#<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require valid-user
#</LimitExcept>
Require valid-user
</Location>
Reload lại apache2 server: sudo /etc/init.d/apache2 force-reload
Import project lên subversion:
Vào thư mục chứa thư mục project trong teminal: cd
/home/phamdinhcuong/tmp/
Thực hiện câu lệnh import: svn import myproject/ http://localhost/svn/example
Thực hiện câu lệnh checkout để kiểm tra kết quả: svn co
http://localhost/svn/example

Cài đặt trac tích hợp vào svn
Cài đặt truc vào Ubuntu

Cài đặt Database cho trac với sqlite: sudo apt-get -y install python-pysqlite1.1
Tạo một thư mục: trac-admin /home/phamdinhcuong/trac/example initenv
Điền các thông tin yêu cầu:
- Project Name: example
- Database connection string: <mặc định là sqlite:db/trac.db>
- Repository type: <Lấy giá trị mặc định là svn>
Tìm hiểu về PHP November 20, 2011
Trang 13

- Path to repository: <Đường dẫn đến nơi chứa svn. >

Khởi động standalone server: tracd port 8000
/home/phamdinhcuong/trac/example
Để có thể chạy trac trên apache2 cần phải cài đặt thêm các thư viện mod-
python: sudo apt-get install libapache2-mod-python libapache2-mod-python-doc

13. Phân biệt POST và GET ?
Đây là 2 giao thức dùng để truyền biến dữ liệu trong php hay nói đúng hơn là
phương thức truyền dữ liệu từ Form truyền đến trang PHP được quy định bởi
thuộc tính METHOD của Form.
$_GET : lấy dữ liệu trong form khi phương thức truyền là GET
$_POST : lấy dữ liệu trong form khi phương thức truyền là POST
Về hiển thị: Post gửi đi theo 1 phương thức gần như là phương thức ẩn,các giá
trị của biến được ẩn đi trên trình duyệt và rất khó có thể tìm được trừ các phần
mềm chuyên dụng có thể bắt được các post. Phương thức get,biến sẽ được hiển
thị trên thanh địa chỉ.
Về giới hạn: phương thức GET là chuỗi query bị hạn chế về chiều dài.còn
POST thì không.
Khi nhập xong dữ liệu và gửi đi thì server sẽ lấy thông tin ở các thẻ trong form
thông qua mảng $_POST[] hoặc$_GET[] .Nhưng ở phương thức get trình duyệt
có thể gửi thông tin đến server mà ko cần qua các thẻ trong form mà qua trực
tiếp địa chỉ url trên trình duyệt.

14. Cookies là gì? Xử lý cookies trong PHP như thế nào?
Tổng quan về cookie:
Cookie là 1 đoạn dữ liệu được ghi vào đĩa cứng hoặc bộ nhớ của máy người sử
dụng. Nó được trình duyệt gởi ngược lên lại server mỗi khi browser tải 1 trang
web từ server.
Tìm hiểu về PHP November 20, 2011
Trang 14


Những thông tin được lưu trữ trong cookie hoàn toàn phụ thuộc vào website
trên server. Mỗi website có thể lưu trữ những thông tin khác nhau trong cookie.
Cookie được tạo ra bởi website và gởi tới browser, do vậy 2 website khác nhau
(cho dù cùng host trên 1 server) sẽ có 2 cookie khác nhau gởi tới browser.
Ngoài ra, mỗi browser quản lý và lưu trữ cookie theo cách riêng của mình, cho
nên 2 browser cùng truy cập vào 1 website sẽ nhận được 2 cookie khác nhau.
Xử lý cookies trong php
Thiết lập cookie:Thiết lập cookie ta sử dụng:
Setcookie("tên cookies","giá trị", thời gian tồn tại)
Tên cookie là tên mà đặt cho phiên làm việc.
Giá trị là thông số của tên cookie.
Ví dụ: Setcookie("username","admin", time() +3600)
Sử dụng cookie: sử dụng cú pháp:
$_COOKIE["tên cookies"]
Hủy Cookie:Để hủy 1 cookie đã được tạo ta có thể dùng 1 trong 2 cách sau:
setcookie("Tên cookie") - Gọi hàm setcookie với chỉ duy nhất tên cookie mà thôi
Setcookie("tên cookies","giá trị"time()-60 - Dùng thời gian hết hạn cookie là thời
điểm trong quá khứ.

15. Session dùng để làm gì?
Session dùng để quản lý người sử dụng trong khoảng thời gian người sử dụng
giao tiếp với 1 ứng dụng. Một session được bắt đầu khi người sử dụng truy cập
vào ứng dụng lần đầu tiên, và kết thúc khi người sử dụng thoát khỏi ứng dụng.
Mỗi session sẽ có được cấp một định danh (ID) khác nhau và nội dung được lưu
trong thư mục thiết lập trong file php.ini (tham số session.save_path).
Thiết lập session: sử dụng cú pháp: session_start()
Đăng ký 1 giá trị session: session_register("Name")
Tìm hiểu về PHP November 20, 2011
Trang 15


Sử dụng giá trị của session:sử dụng cú pháp: $_SESSION["name"]
Hủy bỏ session:có những cách sau:
session_destroy() // Cho phép hủy bỏ toàn bộ giá trị của session
session_unset() // Cho phép hủy bỏ session .

16.File .htaccess dùng để làm gì?
File .htaccess ( hypertext access ) là một tập tin có tên .htaccess trên máy chủ
web . Dấu “ . ” trước chữ htaccess giúp webserver hiểu đó là một file cấu hình .
.htaccess là một tệp tin cấu hình đặc biệt, .htaccess cho phép bạn thay đổi cách
hoạt động của máy chủ Apache ở tầng thư mục. Tệp tin .htaccess gồm các dòng
lệnh, có thể tùy biến theo người dùng, được đặt trong một thư mục nào đó, nó sẽ
có tác dụng cho thư mục đó và tất cả các thư mục con.
Tập tin .htaccess sử dụng được khi máy chủ apache (trên máy bạn chạy
localhost hoặc trên server của nơi cung cấp host) phải có module mod_rewrite
và module này đã được cài cho Apache. Trên localhost, bạn có thể cài cho
Apache bằng cách sửa file Apache2.2/conf/httpd.conf tìm đến những dòng có
rewrite_module và bỏ dấu # ở đầu đi.
Mục đích sử dụng file . htaccess
- Chống ăn cắp băng thông (bandwidth).
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)? cuongphamdinh.tk/ [nc]
#chọn domain cho phép
RewriteRule .*.(mp3|gif|jpg|png)$
Chọn kiểu tập tin cần cấm và chọn đường dẫn file cần cấm
Với cách này,chỉ truy cập trang web cho phép mới có thể truy cập vào tập tin
đó. Các trang web không thể leck link trên trang web của mình được.
Tìm hiểu về PHP November 20, 2011
Trang 16


- 301 Redirect
Redirect 301 /blog/index.php
http:// cuongphamdinh.tk /home.html
Cách này hỗ trợ cho việc chuyển đổi trang web cũ về trang web mới dễ dàng mà
mọi kết quả tìm kiếm với trang web cũ đều được ghi nhận.
- Chuyển đổi hướng tên miền.
RewriteEngine On

RewriteRule ^(.*)$ [R=301,L]
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

×