Bài 4 Tựa bài

Tài liệu tương tự
Microsoft Word - jsp_client_request.docx

Microsoft Word - jsp_file_uploading.docx

Microsoft Word - form_trong_html.docx

Bài 3 Tựa bài

Microsoft Word - client_request_trong_servlet.docx

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Microsoft Word - su_dung_sqlite_voi_php.docx

Slide 1

mySQL - Part 1 - Installation

HƯỚNG DẪN SỬ DỤNG CÁC SẢN PHẨM CỦA OFFICE 365 Hợp đồng số: 25/KTQD-FPT Cung cấp hệ thống Office trực tuyến và thư điện tử Trường Đại Học Kinh Tế Quốc

Microsoft Word - server_response_trong_servlet.docx

Microsoft Word - session_tracking_trong_servlet.docx

ThemeGallery PowerTemplate

Microsoft Word - xu_ly_cookie_trong_servlet.docx

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 5. Kiểu dữ liệu và biểu thức trong C Nội dung 1. Các ki

Microsoft Word - status_code_trong_servlet.docx

TRUNG TÂM ĐÀO TẠO LẬP TRÌNH VIÊN QUỐC TẾ

Một số đối tượng truyền giá trị trong PHP Một số đối tượng truyền giá trị trong PHP Bởi: Phạm Hữu Khang Bài học này chúng ta sẽ làm quen với đối tượng

Tài liệu Hướng dẫn sử dụng

BÀI TẬP THỰC HÀNH

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

Nhúng mã-cách khai báo biến Nhúng mã-cách khai báo biến Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhúng mã javascript trong trang HTML Bạn có thể nhúng JavaScri

Microsoft Word - 10 quy tac then chot ve bao mat.doc

Bài 7 PHP Cơ bản

TẬP ĐOÀN ĐIỆN LỰC VIỆT NAM TRUNG TÂM CÔNG NGHỆ THÔNG TIN TÀI LIỆU HƯỚNG DẪN SỬ DỤNG DIM OPERATOR v1.2 (Dành cho Đơn vị phát điện) Hà Nội, tháng 2/2008

Stored Procedures Stored Procedures Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và s

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG E-LEARNING Version 1.2 Công Ty TNHH Uratek Website: TP.HCM, 11/2017

Hướng dẫn sử dụng dịch vụ FTP

TRƯỜNG Đ CK Joel Murach lay Harris TÜ SACH BẢN QUYỄN FPT Polytechnic P H P v ä MySQL Murach's PHP and MySQL Khởi động nhanh với PHP & MySQL

Microsoft Word - thuat-ngu-thuong-mai-dien-tu.docx

HỌC VIỆN KỸ THUẬT QUÂN SỰ

UBND TỈNH LONG AN TRƯỜNG CĐN LONG AN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do -Hạnh phúc CHƯƠNG TRÌNH DẠY NGHỀ TRÌNH ĐỘ TRUNG CẤP (Ban hành

Slide 1

CÔNG TY TNHH GIẢI PHÁP TRỰC TUYẾN TOTAL 60 Đường 18, Phường Hiệp Bình Chánh, Quận Thủ Đức, TP.HCM MST:

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG E-LEARNING Công Ty TNHH Uratek Website: TP.HCM, 08/2017

In trực tuyến 4.0

Chương trình dịch

Công ty CP công nghệ thẻ NACENCOMM HÓA ĐƠN ĐIỆN TỬ CA2 CÔNG TY CỔ PHẦN CÔNG NGHỆ THẺ NACENCOMM TÀI LIỆU NGHIỆP VỤ HÓA ĐƠN ĐIỆN TỬ CA2 Hà Nội 12/2017 1

Microsoft Word - L?P TRÌNH T?NG ÐÀI SIEMENS HIPATH 1120, HIPATH 1150, HIPATH 1190

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

PRIVACY POLICY - VI (Final)

TẬP ĐOÀN VIỄN THÔNG QUÂN ĐỘI VIETTEL TRUNG TÂM CÔNG NGHỆ THÔNG TIN 1 HƯỚNG DẪN SỬ DỤNG HỆ THỐNG QUẢN LÝ VÀ ĐIỀU HÀNH VĂN BẢN ĐIỆN TỬ Đối tượng Văn thư

Microsoft Word - Khai thac AWS EC2_Web hosting.docx

Microsoft Word - Authpaper_ICO_2019.docx

PowerPoint Presentation

Xử lý chuỗi, mảng và các hàm ngày tháng trong PHP Xử lý chuỗi, mảng và các hàm ngày tháng trong PHP Bởi: Phạm Hữu Khang Bài học này chúng ta sẽ làm qu

View, Procedure, Function & Trigger

Microsoft Word - jsp_syntax.docx

Bài 4 Tựa bài

Chương trình dịch

Chương trình dịch

PowerPoint Template

KẾ HOẠCH THỰC TẬP CƠ SỞ DỮ LIỆU I. MỤC ĐÍCH, YÊU CẦU Mục đích: Giúp sinh viên rèn luyện các kỹ năng về xây dựng cơ sở dữ liệu, cài đặt, quản trị, thao

Microsoft Word - Huong dan su dung Mailchimp.docx

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Slide 1

Slide 1

Lập trình và ngôn ngữ lập trình

HƯỚNG DẪN SỬ DỤNG INTERNET BANKING KHÁCH HÀNG CÁ NHÂN 1/56

Hợp đồng Chính

Chương trình dịch

Hướng dẫn sử dụng Virtualmin

Microsoft Word - emulator_trong_android.docx

Kết nối và thao tác với CSDL trong ASP Kết nối và thao tác với CSDL trong ASP Bởi: Khoa CNTT ĐHSP KT Hưng Yên Qui tắc chung - Tạo đối tượng Connection

Nhập môn Công Nghệ Thông Tin 1

HƯỚNG DẪN SỬ DỤNG HÓA ĐƠN ĐIỆN TỬ

TRUNG TÂM KINH DOANH VNPT ĐỒNG THÁP o0o TÀI LIỆU HƯỚNG DẪN KHAI THÁC Website QUẢN LÝ CÔNG NỢ - HÓA ĐƠN ĐIỆN TỬ dongthap.vnpt.vn/tt

Microsoft Word - SGV-Q4.doc

FPT – Information System

Internet Information Service - IIS Internet Information Service - IIS Bởi: Phạm Nguyễn Bảo Nguyên Chúng ta đã tìm hiểu về cách dựng một NAT Server...

Cách tạo User và Thiết kế Database Cách tạo User và Thiết kế Database Bởi: Khoa CNTT ĐHSP KT Hưng Yên Cách tạo một User Database Chúng ta có thể tạo m

Hướng dẫn tích hợp

Hướng dẫn bắt đầu sử dụng mozabook mozabook 2 Cài đặt, bắt đầu, Bản đồ màn hình Mở ấn phẩm, Nhập PDF và PPT Dẫn đường, Cập nhật ấn phẩm Ấn phẩm mới Nộ

Bài 7. Con trỏ Mục tiêu: 1. Luyện tập sử dụng con trỏ và địa chỉ của các biến 2. Sử dụng con trỏ khi thao tác với mảng. Giới hạn: không dùng các thư v

UBND TỈNH LONG AN TRƯỜNG CAO ĐẲNG NGHỀ LONG AN CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc CHƯƠNG TRÌNH ĐÀO TẠO TRÌNH ĐỘ CAO ĐẲNG (

Kiểu dữ liệu văn bản Kiểu dữ liệu văn bản Bởi: PGS. TS. NGƯT Phạm Văn Huấn Ngoài những dữ liệu số như các số nguyên, số thực, máy tính còn có thể lưu

THÔNG CÁO BÁO CHÍ

CÔNG TY TNHH GIẢI PHÁP CÔNG NGHỆ VIỄN NAM TÀI LIỆU HƯỚNG DẪN WEBSITE MIỄN PHÍ ( WEBMIENPHI.INFO ) Mọi chi tiết về tài liệu xin liên hệ: CÔNG TY TNHH G

XJ-UT311WN_XJ-UT351WN

Điện toán đám mây của Google và ứng dụng xây dựng hệ thống quản lý dịch vụ Đỗ Thị Phương Trường Đại học Quốc gia Hà Nội; Trường Đại học Công nghệ Chuy

PHẦN 8: LỊCH TUẦN I. Giới thiệu: Chương trình lịch tuần với các tính năng như sau: Lịch chạy trên giao diện WEB với CSDL chạy tập trung. Theo dõi lịch

Microsoft Word - Co so du lieu - cap nhat

Xây dựng và quản lý ứng dụng Xây dựng và quản lý ứng dụng Bởi: Trung tâm tin học Đại học Khoa học tự nhiên HC< Trong các chương trước, chúng ta đã tìm

Microsoft Word - Bang tom tat chuc nang do an.doc

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG E-LEARNING Version 2.9 Công Ty TNHH Uratek Website: TP.HCM, 7/2018

Các biến và các kiểu dữ liệu trong JavaScript Các biến và các kiểu dữ liệu trong JavaScript Bởi: Hà Nội Aptech Các biến (Variables) Biến là một tham c

Backup Cloud Server

HƯỚNG DẪN SỬ DỤNG CLOUD STORAGE Trân trọng cám ơn các bạn đã sử dụng dịch vụ Cloud Storage của Viettel IDC. Tài liệu hướng dẫn sử dụng nhanh được biên

Chính sách về quyền riêng tư CHÍNH SÁCH VỀ QUYỀN RIÊNG TƯ Giới thiệu Chúng tôi, tại INLUSTRIS LTD. ( Công ty, đối với chúng tôi hoặc chúng tôi ), hiểu

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN CÔNG NGHỆ CLI

Microsoft Word - http_header_fields.docx

Microsoft Word - doc_ghi_file_trong_nodejs.docx

Chia Sẻ Trực Tuyến 3.1

Một số phân tích an toàn về đặc điểm thiết kế của chế độ EME2 Nguyễn Tuấn Anh Bài báo này phân tích về đặc điểm thiết kế của EME2. Các phân tích được

CÔNG TY TNHH PHẦN MỀM H2SOFT 38/1 Đường Đồi 82 Hòn Nghê Vĩnh Ngọc Nha Trang- Khánh Hòa Website: TÀI LIỆU

Huong dan su dung phan mem Quan ly chat luong cong trinh GXD

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN XÂY DỰNG WEBSITE QUẢN LÝ RẠP CHIẾU PHIM TRÊN CƠ SỞ YII FRAMEWORK Hà Nội 2016

Bản ghi:

Ba i 7 PHP nâng cao Viện CNTT & TT

1. Session Khái niệm Cách thức hoạt động Khởi động session Đăng ký session Sử dụng session Hủy biến session 2

Khái niệm Session PHP cho phép lưu trữ thông tin người dùng trên trình duyệt (tên người dùng, danh mục hàng hóa, ) trong suốt quá trình làm việc của họ. Thông tin của session chỉ tạm thời và thông tin này sẽ bị xóa sau khi người dùng rời khỏi ứng dụng Web. Nếu cần, phải lưu trữ thông tin trong CSDL. 3

Cách thức hoạt động Session làm việc bằng cách tạo ra một địa chỉ duy nhất (UID) cho mỗi người sử dụng. UID có giá trị là một dãy số ngẫu nhiên. UID có thể được lưu trong COOKIE hoặc được truyền lên URL. Ngoài UID, có thể khai báo, khởi tạo và sử dụng một số biến session khác, tất cả các session này có giá trị cho mỗi người sử dụng khi họ truy cập đến ứng dụng Web. 4

Khởi động session Trước khi lưu trữ thông tin người dùng vào session, cần khởi động session. Chú ý: hàm khởi động session phải đặt phía trên thẻ HTML Cú pháp: session_start(); 5

Đăng ký session Sử dụng biến $_SESSION nhận và lưu trữ giá trị của biến session Cú pháp: $_SESSION[ tên biến session ] = giá trị ; Ví dụ: tạo ra một biến session lưu tên đăng nhập của người dùng <?php $_SESSION[ ten_dang_nhap ] = phuong ;?> 6

Sử dụng session Khi muốn sử dụng các biến session hoặc giá trị lưu trong biến session đã đăng ký => dùng biến $_SESSION. Cú pháp: $gia_tri = $_SESSION[ tên biến session ]; Ví dụ: đọc giá trị biến session tên đăng nhập 7 <?php?> $ten_dang_nhap = $_SESSION[ ten_dang_nhap ]; phuong

Hủy biến session Hủy toàn bộ các biến session: Khi không cần dùng đến các biến session nữa thì có thể hủy bỏ toàn bộ các biến session đã đăng ký bằng hàm session_destroy() Cú pháp: session_destroy(); 8

Hủy biến session Hủy một biến session: Khi không cần dùng đến biến session nào thì có thể dùng hàm unset() để hủy bỏ biến session đó. Cú pháp: unset($_session[ tên biến session ]); Ví dụ: hủy bỏ biến session tên đăng nhập <?php unset($_session[ ten_dang_nhap ]);?> 9

Ví dụ: Đếm số lần duyệt trang web <?php session_start( ); if (isset($_session["count"])) $_SESSION["count"] = $_SESSION["count"] + 1; else $_SESSION["count"] = 1; print "Bạn đã truy cập trang này ". $_SESSION['count']. "lần.";?> 10

Ví dụ: Ứng dụng cho Login Làm thế nào để ngăn không cho người dùng truy cập vào các trang web nếu chưa đăng nhập? Khi đăng nhập thành công thì chuyển sang trang khác không yêu cầu đăng nhập lại? Ý tưởng Dùng các biến Session để lưu trạng thái đăng nhập của người dùng: $_SESSION["IsLogin"]=true/false: Lưu trạng thái đăng nhập $_SESSION["Username"]: Lưu Tên đăng nhập $_SESSION["Authentication"]: Lưu Loại quyền đăng nhập 11

Ví dụ: Ứng dụng cho Login 1. Tạo trang login.htm yêu cầu người dùng đăng nhập. 2. Tạo trang validateuser.php xử lí thông tin đăng nhập từ trang login.htm Kết nối với CSDL, kiểm tra thông tin đăng nhập có hợp lệ hay không? Nếu không hợp lệ thì cho redirect về trang login.htm. Nếu hợp lệ thì dùng một biến trong Session để lưu trạng thái login thành công Ví dụ: $_SESSION["IsLogin"] = true. Lưu ý: Phải đặt giá trị mặc định cho biến Session này là false khi khởi tạo một Session (xem ví dụ ở slide sau). 3. Tạo trang logout.php là trang xử lý khi người dùng logout Reset trạng thái login là chưa đăng nhập ($_SESSION["IsLogin"] = false). 12

Ví dụ: Ứng dụng cho Login 4. Trong tất cả các trang muốn bảo mật, thêm đoạn mã sau để kiểm tra người dùng đã đăng nhập hay chưa, nếu chưa thì redirect lại trang login.htm. <?php session_start(); if ($_SESSION["IsLogin"] == false) header("location: login.htm");?> 13

2. Cookie Khái niệm Khai báo cookie Sử dụng cookie Hủy cookie 14

Khái niệm Được sử dụng để xác định thông tin của người dùng. Là một file nhỏ được server lưu trữ xuống từng máy tính của người dùng. Mỗi khi máy tính này yêu cầu một trang tới trình duyệt, nó cũng sẽ gửi theo cookie. Với PHP ta có thể tạo ra và sử dụng giá trị của biến cookie. 15

Cookie Trong Windows, Cookie được lưu ở thư mục Cookies. Chỉ chứa các thông tin đơn giản dạng name = value Sử dụng các giới hạn: Expiration information (VD: 05/10/2005, 18:59:00 GMT), Path information (VD: /user_section), Domain information (VD: yourserver.com), Secure parameter (HTTPS). Truy xuất thông qua biến toàn cục: $_COOKIE[ ]

Khai báo cookie Chú ý: Khai báo cookie ở phía trên thẻ HTML Cú pháp: 17 setcookie(name, value, expire[, path, domain]); name: tên biến cookie value: giá trị expire: thời gian giới hạn dành cho cookie đơn vị tính là giây. Nếu thời gian này không được thiết lập trong hàm setcookie(), biến cookie này sẽ còn hiệu lực cho đến khi người dùng xóa tập tin cookie. path: đường dẫn

Khai báo cookie Ví dụ: tạo ra một biến cookie người dùng có giá trị là phuong, thời gian giới hạn là một giờ <?php setcookie( nguoi_dung, phuong, time()+3600);?> Chú ý: giá trị của biến cookie sẽ tự động được URL mã hóa khi gửi cookie đi, và tự động giải mã khi nhận cookie về. (Nếu không muốn URL mã hóa thì dùng hàm setrawcookie()) 18

Sử dụng cookie Dùng biến $_COOKIE để đọc giá trị biến cookie Cú pháp: $gia_tri = $_COOKIE[ tên biến cookie ]; Ví dụ: đọc giá trị của biến cookie người dùng 19 <?php $nguoi_dung = $_COOKIE[ nguoi_dung ]; phuong?>

Hủy cookie Khi muốn hủy một biến cookie thì cần kiểm tra lại thời gian giới hạn dành cho biến cookie này Sử dụng hàm setcookie() để hủy bằng cách đặt giá trị của biến cookie bằng và thời gian = - thời gian giới hạn Cú pháp: setcookie(name,, time() thời gian giới hạn) 20

Hủy cookie Ví dụ: hủy biến cookie người dùng với thời gian giới hạn của biến này là 3600s <?php $nguoi_dung = $_COOKIE[ nguoi_dung ]; phuong?> 21

Gởi mail trong PHP Cú pháp: mail(to, subject, message[, headers, parameters]) Ý nghĩa các tham số: to, subject, message: Như ý nghĩa các textbox khi soạn mail. headers: Tùy chọn, có thể sử dụng Bcc, Cc. parameters: Tùy chọn, các thông số về trình soạn, gởi mail. Trong phần message: Sử dụng ký hiệu \n để xuống dòng. Lưu ý: Bạn không thể mail từ localhost. Muốn sử dụng chức năng gửi mail thì bạn phải có một host thực sự.

Gởi mail trong PHP <?php $to = 'hoangtung@inbox.com'; $subject = 'Chủ đề thư'; $message = 'Nội dung thông điệp'; $headers = 'From: webmaster@example.com'."\r\n". 'Reply-To: webmaster@example.com'."\r\n". 'X-Mailer: PHP/'.phpversion();?> mail($to, $subject, $message, $headers); Lưu ý: Vì lý do bảo mật nên một số host sẽ cấm sử dụng hàm mail của PHP. Thường phối hợp với FORM để soạn thảo một trình gởi mail.

Upload File lên server Form upload: <form action="upload.php" method="post" enctype="multipart/form-data"> File upload: <input type="file" name="myfile" /> <input type="submit" value="upload" /> </form> Lưu ý: Luôn sử dụng phương thức POST. Luôn sử dụng enctype="multipart/form-data" trong thẻ FORM.

Upload file lên Server Biến $_FILES[]: $_FILES['myfile']['name'] Tên file đã được upload. $_FILES['myfile']['type'] Kiểu file đã được upload, vd: image/gif, image/jpeg,... $_FILES['myfile']['size'] Kích thước tập tin đã được upload (tính bằng bytes). $_FILES['myfile']['tmp_name'] Vị trí file được lưu trữ tạm trên server. $_FILES['myfile']['error'] Mã lỗi của việc upload (0 = Upload thành công).

Upload file lên Server Xử lý: <?php $dir = "data/"; //Upload vào thư mục data?> if($_files['myfile']['name']!= "") { $fileupload = $dir. $_FILES['myfile']['name']; if(move_uploaded_file($_files['myfile']['tmp_name'], $fileupload)) { echo "Upload file thành công!"; } else{ echo "Upload file không thành công!"; } } else{ echo "Vui lòng chọn file để upload!"; }

Upload file lên Server Upload nhiều file: <form action="upload.php" method="post" enctype="multipart/form-data"> Files upload:<br /> File 1: <input type="file" name="myfile[]" /><br /> File 2: <input type="file" name="myfile[]" /><br /> File 3: <input type="file" name="myfile[]" /><br /> <input type="submit" value="upload" /> </form>

Upload file lên Server Xử lý upload nhiều file: <?php foreach($_files['myfile']['error'] as $key => $error) { if($error == 0) { $tmp_name = $_FILES['myfile']['tmp_name'][$key]; $name = $_FILES['myfile']['name'][$key]; move_uploaded_file($tmp_name, "data/$name"); } }?>

Các hàm bảo mật trong chuỗi string addslashes(string $str) string stripslashes(string $str) string htmlspecialchars(string $str [, int $quote_style [, string $charset]]) string md5(string $str [, bool $raw_output]) string sha1(string $str [, bool $raw_output])

Các hàm bảo mật trong chuỗi string addslashes(string $str) Thêm ký tự backslash (\) phía trước các ký tự " \ NUL trong chuỗi $str Thường dùng trong các câu lệnh SQL để tránh xảy ra lỗi khi lưu và lấy dữ liệu từ CSDL. Các hàm tương tự: string quotemeta(string $str) string addcslashes(string $str, string $charlist) <?php $str = "I'dont know \'every thing\'"; echo addslashes($str); //Output: I\'dont know \\\'every thing\\\'?> VD:

Các hàm bảo mật trong chuỗi string stripslashes(string $str) Xóa bỏ ký tự backslash (\) xuất hiện trong chuỗi $str (ngược lại với hàm addslashes()). Hàm tương tự: string stripcslashes(string $str) VD: <?php $str = "I\'dont know \\\'every thing\\\'"; echo addslashes($str); //Output: I'dont know \'every thing\'?>

Các hàm bảo mật trong chuỗi string htmlspecialchars(string $str [, int $quote_style [, string $charset]]) Chuyển đổi các ký tự đặc biệt & ' " < > trong chuỗi $str thành các thực thể HTML (Convert special characters to HTML entities). Khi đó: & & " " // khi không có ENT_NOQUOTES. ' &#039; // khi có ENT_QUOTES. < < > > Ngược lại: htmlspecialchars_decode

Các hàm bảo mật trong chuỗi string md5(string $str [, bool $raw_output]) MD5: Message Digest 5 là một hàm băm mật mã được sử dụng phổ biến với giá trị băm dài 128 bit. Thường dùng để mã hóa mật khẩu, kiểm tra tính toàn vẹn của tập tin, VD: <?php $str = 'Lớp DH8TH'; echo md5($str); //Output: 39a03156031b6a3ecf5dc5279ab3a77c?>

Các hàm bảo mật trong chuỗi string sha1(string $str [, bool $raw_output]) Thuật toán SHA-1 (Secure Hash Algorithm 1) tạo ra chuỗi mã băm có chiều dài cố định 160 bit từ chuỗi bit dữ liệu đầu vào $str có chiều dài tùy ý. Được sử dụng phổ biến và có công dụng như MD5, ngoài ra SHA-1 còn được sử dụng rất nhiều trong thương mại điện tử, tạo chữ ký số, VD: <?php $str = 'Lớp DH8TH'; echo sha1($str); //Output: a6fc5d0530e75a5288e4ff27b284741945677158?>