Thứ Ba, 9 tháng 9, 2014

PHOTOSHOP PHIÊN BẢN MỚI

Học Photoshop phiên bản nào mới nhất hiện nay?

Tính đến thời điểm đầu năm 2014, phiên bản mới nhất của phần mềm Adobe Photoshop là phiên bản Photoshop CC (Creative Cloud) sau phiên bản CS6 kết thúc dòng CS (Creative Suite), được Adobe ra mắt vào ngày 17/6/2013 tại hội nghị Adobe MAX ở Los Angeles. Các bạn có thể tìm hiểu thêm thông tin và tải về tại đây.
Trong các bài hướng dẫn của iTBiBoo.com sẽ sử dụng Adobe Photoshop CC. Nếu các bạn đang sử dụng các phiên bản trước từ CS4 trở đi của Photoshop cũng không sao vì hầu hết các tính năng gần tương tự.

Giao diện làm việc chính của Photoshop

Mặc định khi mở Photoshop để sử dụng, sau quá trình nạp các tài nguyên cần thiết, giao diện Photoshop như sau:
pts interface Photoshop cơ bản 01   Làm quen với giao diện và thanh công cụ Photoshop
Trên giao diện chính của Photoshop CC, chúng ta quan tâm đến 4 khu vực thường thao tác:
  1. Khu vực hiển thị nội dung của các file đang thao tác, xử lí.
  2. Thanh menu chính chứa các trình đơn xử lí, cấu hình,…
  3. Thanh công cụ (Toolbox) chứa các công cụ xử lí để thao tác với các file (sẽ được giới thiệu cụ thể trong phần sau)
  4. Vùng quản lí các lớp (Layer) của file đang thao tác, xử lí.
Mặc định, giao diện Photoshop CC trên Windows có tông màu tối như trên, chúng ta có thể thay đổi sang các tông màu sáng hơn bằng cách vào Edit > Preferences > Interface và thay đổi tại phần Color Theme. Các thành phần trên giao diện chính chúng ta hoàn toàn có thể kéo thả và bố trí lại như ý muốn tùy vào thói quen của mỗi người nhưng theo mình cách bố trí mặc định là hợp lí và tránh thay đổi lung tung.
Khi các bạn mở một file hoặc tạo mới 1 file để thao tác thì chúng sẽ hiển thị trong khu vực số 1, chúng ta có thể mở và thao tác với nhiều file cũng lúc và có thể kéo chúng chồng lên nhau để có thể tương tác giữa các file với nhau bằng cách giữ và kéo phần tên file.
Khu vực phía dưới thanh menu chính là thanh tùy chỉnh tương ứng để chúng ta có thể thao tác với mỗi công cụ đang được chọn ở Toolbox. Khu vực phía trên vùng quản lí Layer là vùng tùy chỉnh màu sắc, các chế độ màu tương ứng với các chế độ xử lí của Photoshop, mặc định là Essentials (ở phiên bản CC chúng ta có thể thay đổi chế bộ này tại khung chọn góc trên bên phải).

Thanh công cụ (Toolbox)

Đây là khu vực chứa các công cụ chính của Photoshop mà chúng ta thao tác nhiều nhất khi sử dụng phần mềm này (khu vực số 3 phía trên). Chúng ta cùng điểm qua tìm hiểu chức năng chính của các công cụ này nhé.
Để biết tên của công cụ, các bạn rê chuột vào biểu tượng tương ứng, sau tên công cụ các bạn để ý kí tự trong dấu () chính là phím tắt giúp chúng ta có thể chọn nhanh công cụ đó. Thanh công cụ được chia thành 4 nhóm chính như sau:
Toolbox1 Photoshop cơ bản 01   Làm quen với giao diện và thanh công cụ Photoshop
Theo thứ tự từ trên xuống:

1. Nhóm công cụ lựa chọn, di chuyển:

  • Move Tool (V): Sử dụng để di chuyển các đối tượng (các layer) trên vùng làm việc.
  • Marquee Tool (M): Các công cụ để lựa chọn các vùng dạng hình chữ nhật, hình elip, dạng cột, dòng (các bạn có thể chuyển sang chế độ chọn khác bằng cách click chuột phải vào biểu tượng này để hiện ra danh sách các loại công cụ)
  • Lasso Tool (L): Các công cụ giúp vẽ được các vùng chọn tùy ý chứ không chỉ là hình chữ nhật hay elip,  sau khi vẽ, để nối điểm đầu và điểm cuối bạn chỉ cần nhấp đôi chuột chúng sẽ tự nối với nhau, sau đó bạn có thể thao tác trên vùng đã chọn.
  • Magic Wand Tool (W): Công cụ giúp chọn 1 mảng màu giống nhau tại 1 khu vực.
  • Crop Tool (C): Công cụ dùng để cắt xén bớt khung hình, sau khi lựa chọn vùng cắt hình và xác nhận thì phần nằm ngoài vùng chọn sẽ biến mất. Trong nhóm này còn có công cụ Slice Tool (K): Công cụ dùng để cắt hình, thường dùng trong việc cắt hình nhỏ cho website.
  • Eyedropper Tool (I):  Công cụ dùng để chọn màu, lấy màu ở các điểm bất kì trên vùng làm việc.

2. Nhóm công cụ vẽ và chỉnh sửa ảnh:

  • Healing Brush Tool (J): Sửa chữa các vùng hỏng hay thừa trên ảnh. Bạn chỉ cần chọn kích thước con trỏ giữ phím Alt rồi di con trỏ tới 1 khu vực có thể thay thế cho vùng hỏng kia rồi buông phím Alt và thực hiện thao tác tô lên các vết hỏng (Chú ý nó sẽ có 1 chút chế độ hoà trộn ở điểm cuối cùng khi bạn ngừng click chuột).
  • Brush Tool (B): Cọ vẽ, là công cụ tuyệt vời của Photoshop giúp bạn có thể vẽ với nhiều loại hình dáng khác nhau, màu sắc, kích cỡ tùy chỉnh, các brush có sẵn và bạn cũng có thể tìm nạp thêm vào để sử dụng.
  • Clone Stamp Tool (S): Tương tự công cụ Healing Brush Tool nhưng nó không hòa trộn mà lấy hẳn phần được chọn để thay thế vào vùng ảnh hỏng.
  • History Brush Tool (H): Brush dùng để lấy lại hình dạng ảnh ban đầu của vùng quét.
  • Eraser Tool (E): Xóa các vùng mà nó quét qua, giống như 1 cục tẩy để xóa mực.
  • Gradiant Tool (G): Giúp tạo ta 1 vùng có màu hòa trộn, ở nhóm này còn có Paint Bucket Tool thay vì hòa trộn màu thì nó chỉ tô 1 màu.
  • Blur Tool (R): Giúp làm mờ, nhòa đi vùng được quét qua
  • Dodge Tool (O): Làm sáng các vùng được quét qua, trừ vùng màu đen.
  • Path Selection Tool (A)Công cụ quản lí, lựa chọn các đường kẻ khi bạn vẽ 1 hình dạng bất kì, chủ yếu qua công cụ Pen Tool

3. Nhóm công cụ viết và vẽ vector

  • Type Tool (T): Công cụ dùng để thêm một nội dung văn bản vào, có thể giới hạn vùng nhập văn bản bằng cách vẽ vùng giới hạn trước khi nhập văn bản.
  • Pen Tool (P): Vẽ các đường kẻ bất kì (dạng vector), có thể tùy chỉnh, uốn cong,…
  • Rectangle Tool (U): Nhóm công cụ vẽ các hình dạng thông dụng như chữ nhật, elip, đường thẳng,… dạng vector.
  • Notes Tool (N): Dùng để ghi chú khi thao tác với file PSD.
  • Hand Tool (T): Giúp bạn nắm và duy chuyển tất cả các đối tượng layer (cả hình đang xử lí) và kéo đi trong 1 cửa sổ.
  • Zoom Tool (Z): Giúp phóng to, thu nhỏ vùng làm việc.

4. Nhóm công cụ tùy chỉnh màu nền

  • Change Color: Chứa 2 hộp màu, trước và sau để thao tác xử lí tô, đổ màu nền (Hòa sẽ đề cập trong các bài hướng dẫn sau).
Các bạn lưu ý với các công cụ có biểu tượng tam giác ở góc dưới bên phải tức nó gồm một nhóm công cụ tương đồng, để chuyển sang công cụ khác, các bạn click phải vào biểu tượng công cụ đó và chọn từ danh sách. Phần giới thiệu tính năng trên, Hòa viết cho những công cụ mặc định, các công cụ trong cùng nhóm sẽ có tính năng tương tự.
shadow 1 Photoshop cơ bản 01   Làm quen với giao diện và thanh công cụ Photoshop

THỦ THUẬT HAY VỚI WORDPRESS

WordPress.com là một giải pháp tạo blog WordPress miễn phí và có những tính năng cơ bản giúp bạn quản lý các bài viết và những bình luận rất tốt. Có thể nói đây là sự lựa chọn khá tốt nếu như bạn muốn có một blog tương đối toàn diện để viết bài. Thế nhưng ở thời điểm hiện tại, việc truy cập vào những trang blog trên wordpress.com tại Việt Nam đôi khi khá khó khăn vì các nhà mạng đã lên kế hoạch chặn WordPress.com, và một phần quan trọng nữa là nếu bạn sử dụng một tài khoản với quy mô miễn phí thì cũng không có quá nhiều quyền lợi để có một blog đầy đủ các tính năng quan trọng như cài plugin riêng, theme riêng, đây là 2 tính năng rất quan trọng trong WordPress đã giúp nó trở thành một trong những nền tảng blog thông dụng nhất thế giới.
Bởi vậy nếu như bạn muốn sử dụng một blog WordPress đầy đủ các chức năng vốn có, hoàn toàn chuyên nghiệp và không lo nhà mạng chặn nữa thì bắt buộc phải sử dụng WordPress Self-Hosted. Trước tiên để sử dụng được WordPress Self-Hosted thì bạn cần có một tên miền và một hosting hỗ trợ WordPress để có thể cài đặt nó. Các bạn có thể mua tên miền tại đây và tham khảo danh sách những hosting tốt nhất hỗ trợ WordPress.
Sau khi đã có tên miền và hosting, bạn phải tiến hành cài đặt sẵn một blog WordPressđể chút nữa bạn có thể import các dữ liệu từ WordPress.com vào. Được rồi, bây giờ chúng ta sẽ làm từng bước một.
Lưu ý: Nếu bạn có mua tên miền trên WordPress.com thì xem thêm cách trỏ tên miền từ WordPress.com về hosting riêng.

Bước 1. Export dữ liệu từ WordPress.com

Các bạn truy cập vào Dashboard của blog cần chuyển trên WordPress.com, tìmTools ⇨ Export ⇨ chọn All Content ⇨ nhấn Download Export File.
Trích xuất dữ liệu từ WordPress.com
  • Chọn All Content nếu muốn di chuyển toàn bộ bài viết, comment, pages.
  • Chọn Posts nếu muốn chỉ chuyển bài viết và comment.
  • Chọn Pages nếu muốn chỉ chuyển Pages.
  • Chọn Feedback nếu muốn chỉ chuyển các tin nhắn liên hệ.
Sau đó các bạn sẽ nhận được một file .xml, trong đó nó sẽ chứa tất cả các dữ liệu ở trang blog wordpress.com của bạn.

Bước 2. Chuyển dữ liệu vào blog WordPress trên host

Sau khi đã có một bản WordPress đã được cài đặt trên host, các bạn vào http://domain.com/wp-admin và tìm  Tools ⇨ Import ⇨ WordPress ⇨ Install Now ⇨ chọn file XML mà bạn vừa có được thông qua bước 1 ⇨ nhấn Upload file and import.
Nhập dữ liệu từ WordPress.com vào WordPress Hosting
Tiếp theo bạn cần chọn tác giả cho các bài viết mới này. Nếu bạn có sử dụng hình ảnh trong bài viết thì chọn thêm Download and import file attachments và nhấn nút Submit.
Tới bước này bạn cần phải chờ 1 lát để nó import, cứ thong thả làm ly cafe cho tỉnh táo vì nhanh hay chậm còn phụ thuộc vào số lượng bài viết mà bạn muốn import. Khi import thành công nó sẽ có tin nhắn thông báo như sau.
Import dữ liệu thành công
Thế là xong rồi đó, bạn ra trang chủ blog sẽ thấy các bài viết vừa mới import vào. Bây giờ bạn có thể thoải mái cài thêm plugin và theme rồi nhé.  :D

Chuyển tên miền tại WordPress.com về host khác

Khi bạn đã sử dụng gói nâng cấp trên WordPress.com để sử dụng tên miền riêng thì nếu bạn muốn chuyển qua WordPress Hosting mà vẫn muốn sử dụng tên miền đó thì bạn cần cập nhật Name Server (DNS) cho tên miền trên WordPress.com
Các bạn truy cập vào Store ⇨ Domains trên Dashboard của WordPress.com
Truy cập vào khu vực quản lý tên miền trên WordPress.com
Ở đây, bạn nhìn xuống phía dưới sẽ thấyhộp chọn “What would you like to do?“, các bạn bấm vào nó và chọn Make Changes to DNS. Sau khi chọn nó, bạn sẽ thấy một hộp thoại khác sổ ra bao gồm Customer Number và cập nhật mật khẩu. Đây là mật khẩu mà bạn sẽ đăng nhập vào trang quản lý domain, hoàn toàn không liên quan đến tài khoản của WordPress nên bạn có thể tạo mới một mật khẩu khác để chút nữa đăng nhập. Bạn cũng nên copy cái Customer ID ra 1 nơi nào đó để chút nữa ta sẽ đăng nhập bằng ID đó.
Lấy Customer ID và tạo mật khẩu mới để đổi DNS
Sau đó bạn nhấp vào liên kết Manage Your Domains để đi vào trang quản lý tên miền. Bạn đăng nhập bằng Customer ID và mật khẩu của bạn nhé.
Đăng nhập vào trang quản lý domain

Lưu ý

Sau khi đăng nhập, nó sẽ đòi mã PIN của bạn mà bạn phải gọi cho nó để chứng thực chủ nhân tải khoản thì mới có mã PIN đó. Bạn cứ tắt đi và truy cập vào trang đăng nhập này một lần nữa nó sẽ không đòi mã PIN.  :gach:
Sau khi đăng nhập thành công bạn sẽ thấy domain của bạn hiển thị tại trang quản lý, các bạn chọn nó và chọn Set Nameserver.
Sửa DNS cho domain
Tiếp tục, chọn “I have specific nameservers for my domains” và xóa hết các DNS mặc định của WordPress.com đi và thay vào đó là DNS của hosting mà bạn đang sử dụng.
Đổi DNS cho domain
Cuối cùng, nhấn nút OK và nó sẽ bảo bạn đợi trong vòng 2 đến 48h để DNS được cập nhật.  :*
Nếu bạn có gì thắc mắc, hãy để lại bình luận ngay tại bài viết này nhé. Chúc các bạn chuyển blog thành công
Nếu các bạn muốn chuyển blog từ Blogspot về WordPress mà không bị mất traffic hay pagerank thì hãy đợi bài viết sau nhé.

CÁC THÀNH PHẦN TRONG DRUPAL

Khi mới bắt đầu tìm hiểu về Drupal các bạn cần tìm hiểu khái niệm của những thành phần có trong nó. Để có một cái nhìn tổng quan nhất về những gì mình cần phải tìm hiểu tiếp theo. Dưới đây là một số khái niệm cơ bản trong Drupal:
Module

Module là phần mềm (mã) mở rộng các tính năng Drupal và/hoặc các chức năng. Các module core được tích hợp trong bộ tải về của Drupal, và bạn có thể bật chức năng của của nó mà không cần cài đặt phần mềm bổ sung. Các module đóng góp được tải về trong mục download các module của drupal.org, và cài đặt trong thư mục cài đặt Drupal của bạn. Bạn cũng có thể tạo ra các module riêng của bạn, điều này đòi hỏi một sự hiểu biết thấu đáo về Drupal, lập trình PHP, và các module của Drupal API.

User, Permission, Role

Mỗi người truy cập vào trang web của bạn, cho dù họ có tài khoản và đăng nhập hoặc ghé thăm trang web nặc danh, được xem là một người sử dụng Drupal. Mỗi người sử dụng có số ID, và người người sử dụng không phải vô danh có tên người dùng và địa chỉ email. Các thông tin khác cũng có thể được liên kết với người sử dụng bởi các module, ví dụ, nếu bạn sử dụng các module Profile core, bạn có thể  định nghĩa thêm các trường trong profile người dùng.

Người dùng vô danh có ID=0.  Người sử dụng có ID=1  là tài khoản người dùng bạn tạo ra khi bạn cài đặt Drupal và là người dùng đặc biệt có quyền làm mọi thứ trên trang web.

Những người dùng khác được gán quyền thông qua Role

Node

Một Node trong Drupal là một thuật ngữ chung cho một phần của nội dung trên trang web của bạn. (Lưu ý rằng sự từ  "Node" không phải là từ có ý nghĩa trong toán học như một phần của mạng.) Một số ví dụ về các Node:

•        Các trang của các quyển sách(Pages in books)
•        Các chủ đề thảo luận trong diễn đàn (Discussion topics in forums)
•        Các trang trong blog(Entries in blogs)
•        Các bài viết tin tức (News article stories)

Mỗi Node trên trang web của bạn có một kiểu nội dung (Content type). Nó cũng có ID, Tiêu đề, Ngày viết, Tác giả (một người dùng trên trang web), Nội dung…. Bằng cách sử dụng Module (CCK).

Comment

Comment cũng là một loại nội dung bạn có thể có trên trang web của bạn (nếu bạn đã kích hoạt module comment ). Mỗi comment gắn với một Node cụ thể.

Taxonomy

Drupal có một hệ thống phân loại nội dung, mà được gọi là Taxonomy. Bạn có thể định nghĩa từ vựng của riêng bạn (vocabularies – groups of taxonomy terms), và thêm terms cho mỗi từ vựng. Từ vựng có thể là ngang hàng hoặc phân cấp, có thể cho phép lựa chọn một hoặc nhiều, và cũng có thể được "free tagging" (có nghĩa là khi tạo hoặc chỉnh sửa nội dung, bạn có thể thêm terms mới). Mỗi từ vựng có thể được gắn với một hoặc nhiều loại nội dung, và theo cách này, các Node trên trang web của bạn có thể được nhóm lại thành các loại, được dán nhãn, hoặc được phân loại trong bất kỳ cách nào bạn chọn.

Database

Drupal lưu trữ thông tin trong cơ sở dữ liệu, mỗi loại thông tin có bảng cơ sở dữ liệu riêng của mình. Ví dụ, các thông tin cơ bản về các Node  trên trang web của bạn được lưu trữ trong bảng Node, và nếu bạn sử dụng module CCK để thêm các trường vào các Node của bạn, nó được lưu trữ trong các bảng riêng biệt. Comment và User cũng có các bảng cơ sở dữ liệu riêng của nó, và Role, Permission, và các thiết lập khác cũng được lưu trữ trong các bảng cơ sở dữ liệu.

Path

Khi bạn truy cập một địa chỉ URL trong trang web của Drupal của bạn, một phần của địa chỉ URL sau địa chỉ cơ bản của trang web được gọi là Path.

Theme

Theme điều khiển cách trang web của bạn được hiển thị, bao gồm giao diện đồ họa, bố trí, và màu sắc. Theme bao gồm một hay nhiều tập tin PHP để xác định đầu ra HTML của các trang web của bạn, cùng với một hoặc nhiều file CSS để xác định bố trí, phông chữ, màu sắc, và phong cách khác.

Region, Block, Menu

Các trang trên trang web của Drupal của bạn được đặt ra trong Region, mà có thể bao gồm các header, footer, sidebars, và phần nội dung chính, theme của bạn có thể xác định các Region khác. Ngăn chặn được các đoạn rời rạc của thông tin được hiển thị ở Region của các trang web. Block có thể mang hình thức của menu (trong đó có liên quan với điều hướng trang web), nội dung từ các module (ví dụ, các chủ đề diễn đàn nóng), hoặc các khối thông tin tĩnh hoặc động mà bạn đã tạo ra cho mình (ví dụ, một danh sách các sự kiện sắp tới) .

ASP.NET MVC3 và những sức mạnh mà bạn chưa biết đến

Partial View là một đoạn (fragment) có thể tái sử dụng gồm nội dung và mã lệnh được nhúng vào trong một View và cải thiện khả năng sử dụng của một trang web đồng thời giảm bớt khả năng trùng viết mã trùng lặp hay phải viết lại mã lệnh đã có trước
Lưu ý : Partial View trong ASP.NET MVC tương tự như điều khiển UserControl trong ASP.NET WebForm và được thể hiện qua lớp ViewUserControl mà xuất phát là từ lớp UserControl ASP.NET
Để hiểu rõ hơn về cách sử dụng Partial View trong trang website, tôi giả sử một ứng dụng web thương mại điện tử có các phần như : danh sách mặt hàng, giỏ hàng, chọn mặt hàng, thanh toán,….Để giảm bớt khả năng phức tạp của cách sử dụng View, bạn có thể dùng mỗi phần như thế là một Partial View riêng biệt, và sau đó sử dụng tất cả Partial View vào trong một View duy nhất cho ứng dụng web. Hoặc một cách hiểu khác cho Partial View là sử dụng nó cho việc hiển thị đánh dấu nhiều phần khác nhau trong ứng dụng web.
So sánh giữa View và Partial View
Một View là thể hiện của một trang HTML đầy đủ, trong khi Partial View là một đoạn của HTML, và không xác định vị trí trong giao diện (layout) website.
Dưới đây, tôi sẽ ví dụ một Partial View cho ứng dụng.
Bước 1: Vào Visual Studio 2010, tạo mới Project MVC3 Application và sử dụng mã Razor, xem hình bên dưới
Trương Minh Tuấn
Bước 2: Tạo một ADO.NET Data Entity Model để ánh xạ toàn bộ dữ liệu từ SQL Server lên Visual Studio bằng cách nhấn chuột phải vào Models/Add New Item/, chọn Tab Data. như hình bên dưới
 
Tiếp theo chỉ là việc chọn Nguồn dữ liệu có sẵn từ SQL Server cho đặt tên cho Entities Model này. Đến đây là tôi đã có được một cơ sở dữ liệu dùng cho việc hiển thị lên Partial trong ứng dụng
Bước 3: Tạo một View có tên PartialView trong View/Home/ để viết mã lệnh HTML cho việc sẵn sàng hiển thị dữ liệu
Trương Minh Tuấn
Bước 4: Tại View PartialView, tôi viết các mã lệnh cho việc hiển thị như sau:
Trương Minh Tuấn
Bước 5: Tôi vào View/Home/Index.cshtml, tôi sử dụng PartialView vừa tạo ở trên để hiển thị dữ liệu, cú pháp như sau:
@Html.Partial("PartialView")
Bước 6: Chạy ứng dụng bằng cách nhấn F5 để kiểm tra, và đây là kết quả:

THỦ THUẬT VỚI PHP PHẦN 2

Bảo vệ phiên làm việc của bạn

Theo mặc định, thông tin phiên làm việc trong PHP được viết vào một thư mục tạm thời. Hãy xem xét biểu mẫu trong Liệt kê 5, nó cho thấy cách lưu một mã nhận dạng người sử dụng và số tài khoản trong một phiên làm việc.
Liệt kê 5. Lưu trữ dữ liệu trong phiên
<?php
session_start();
?>
<html>
<head>
<title>Storing session information</title>
</head>
<body>
<?php
if ($_POST['submit'] == 'Save') {
    $_SESSION['userName'] = $_POST['userName'];
    $_SESSION['accountNumber'] = $_POST['accountNumber'];
}
?>
<form id="myFrom" action="<?php echo $_SERVER['PHP_SELF']; ?>"
    method="post">
<div><input type="hidden" name="token" value="<?php echo $token; ?>" />
<input type="text" name="userName"
    value="<?php echo(isset($_POST['userName']) ? $_POST['userName'] : ''); ?>" />
<br />
<input type="text" name="accountNumber"
    value="<?php echo(isset($_POST['accountNumber']) ? 
    $_POST['accountNumber'] : ''); ?>" />
<br />
<input type="submit" value="Save" name="submit" /></div>
</form>
</body>
</html>
Liệt kê 6 cho thấy nội dung của thư mục /tmp.
Liệt kê 6. Các tệp tin phiên trong thư mục /tmp
-rw-------  1 _www    wheel       97 Aug 18 20:00 sess_9e4233f2cd7cae35866cd8b61d9fa42b
Như bạn có thể thấy, tệp tin phiên, khi được in ra (xem Liệt kê 7), chứa các thông tin trong một định dạng khá dễ đọc. Vì tệp tin phải đọc được và viết được đối với người sử dụng máy chủ web, các tệp tin phiên này có thể tạo ra một vấn đề lớn đối với bất cứ người nào trên một máy chủ chia sẻ. Người nào đó không phải là bạn có thể viết một kịch bản lệnh đọc các tệp tin này để họ có thể thử lợi dụng phiên làm việc đó.
Liệt kê 7. Nội dung của một tệp tin phiên
userName|s:5:"ngood";accountNumber|s:9:"123456789";

Lưu mật khẩu

Mật khẩu sẽ tuyệt đối không bao giờ được lưu giữ ở dạng văn bản rõ ở bất kỳ nơi nào — không được nằm trong một cơ sở dữ liệu, phiên làm việc, hệ thống tệp tin, hoặc ở bất kỳ dạng nào khác. Cách tốt nhất để xử lý các mật khẩu là lưu chúng đã mã hóa và so sánh với các mật khẩu đã mã hóa với nhau. Mặc dù điều này có vẻ là hiển nhiên, song việc lưu giữ chúng ở dạng văn bản rõ dường như được làm khá nhiều trong thực tế. Bất cứ khi nào bạn sử dụng một trang web mà có thể gửi cho bạn mật khẩu của bạn thay vì việc đặt lại, điều đó có nghĩa là hoặc mật khẩu được lưu ở dạng văn bản rõ hoặc đã có mã lệnh sẵn để giải mã mật khẩu nếu nó được mật mã hóa. Ngay cả ở trường hợp sau, mã lệnh để giải mã có thể tìm thấy và khai thác được.
Bạn có thể làm hai điều để bảo vệ dữ liệu phiên của bạn. Trước tiên là mã hóa mọi thứ mà bạn đưa vào phiên. Tuy nhiên chỉ riêng việc bạn đã mã hóa dữ liệu không có nghĩa là nó đã an toàn trọn vẹn, do đó hãy cẩn thận, đừng tin tưởng vào việc này như là phương tiện duy nhất của bạn để bảo vệ phiên làm việc của mình. Có cách khác là lưu dữ liệu phiên của bạn ở một nơi khác, ví dụ như một cơ sở dữ liệu. Bạn vẫn phải đảm bảo rằng bạn đang khóa kín cơ sở dữ liệu của bạn, nhưng cách tiếp cận này giải quyết được hai vấn đề: Trước nhất, nó đặt dữ liệu của bạn vào một nơi an toàn hơn một hệ thống tệp tin chia sẻ; thứ hai, nó cho phép ứng dụng của bạn mở rộng trải ra bao gồm nhiều máy chủ web dễ dàng hơn với các phiên được chia sẻ xuyên qua nhiều máy chủ.
Để thực hiện ghi lưu bền vững các dữ liệu về phiên làm việc của chính bạn, xem hàmsession_set_save_handler() trong PHP. Dùng nó, bạn có thể lưu trữ thông tin phiên trong một cơ sở dữ liệu hoặc triển khai thực hiện một trình xử lý (handler) để mã hoá và giải mã toàn bộ các dữ liệu của bạn. Liệt kê 8 cung cấp một thí dụ về cách sử dụng hàm này và các hàm khung cho việc triển khai thực hiện. Bạn cũng có thể kiểm tra các thí dụ về cách sử dụng một cơ sở dữ liệu trong phần Tài nguyên.
Liệt kê 8. Ví dụ về hàm session_set_save_handler()
function open($save_path, $session_name)
{
    /* custom code */
    return (true);
}

function close()
{
    /* custom code */
    return (true);
}

function read($id)
{
    /* custom code */
    return (true);
}

function write($id, $sess_data)
{
    /* custom code */
    return (true);
}

function destroy($id)
{
    /* custom code */
    return (true);
}

function gc($maxlifetime)
{
    /* custom code */
    return (true);
}

session_set_save_handler("open", "close", "read", "write", "destroy", "gc");