Lập trình viên PHP

36
Lập trình viên PHP Vo Duy Tuan – ZCE <[email protected]> BlogHoctap.com

description

Slide giới thiệu về PHP và một số công cụ trong quá trình phát triển ứng dụng web bằng PHP. Ngoài ra trình bày một số vấn đề liên quan đến bảo mật.

Transcript of Lập trình viên PHP

Page 1: Lập trình viên PHP

Lập trình viên PHP

Vo Duy Tuan – ZCE <[email protected]>BlogHoctap.com

Page 2: Lập trình viên PHP

$nội_dung_trình_bày

Tại sao xây dựng web? Sự phổ biến của PHP Công cụ phát triển Bảo mật

Page 3: Lập trình viên PHP

Tại sao xây dựng Web?1

Page 4: Lập trình viên PHP

1. Tại sao chúng ta xây dựng website? Bởi vì…

Page 5: Lập trình viên PHP

1. Phân loại website

Social Network Message Board: Forum, Guestbook, Blog… CMS – Content Management System E-Commerce Multimedia (Image Gallery, Music, Video) Web Apps: Mail, Office, Editor, Map, Chat… File Sharing …

Page 6: Lập trình viên PHP

Sự phổ biến của PHP2

Page 7: Lập trình viên PHP

Ngày xửa, ngày xưa…

Rasmus Lerdorf

Viết PHP năm 1994

Công bố năm 1995, PHP v2

Personal Home Page

Page 8: Lập trình viên PHP

Ngày xửa, ngày xưa…

Andi Gutman

& Zeev Suraski Viết lại parser

Công bố PHP3 năm 1998

Viết lại core của PHP, đưa ra Zend Engine năm 1999

Page 9: Lập trình viên PHP

Một vài “người nổi tiếng”

Facebook Yahoo Wikipedia Joomla Wordpress … …Zing me @ Zing @ VNG

Page 10: Lập trình viên PHP

PHP làm việc như thế nào?

LAMPLinux

Apache

MySQL

PHP / Python / Perl

Page 11: Lập trình viên PHP

PHP làm việc như thế nào?

Page 12: Lập trình viên PHP

Tại sao dùng PHP?

Open source Lập trình hướng đối tượng Làm việc với nhiều cơ sở dữ liệu Thư viện phong phú: Smarty, PDO… Cộng đồng hỗ trợ lớn Bảo mật Khả năng mở rộng PHP (Extension)

Page 13: Lập trình viên PHP

PHP Open Source

Page 14: Lập trình viên PHP

PHP Framework

Page 15: Lập trình viên PHP

Công cụ phát triển3

Page 16: Lập trình viên PHP

3. Công cụ phát triển

PHP: PhpEd, Zend Studio, PHP Manual…

HTML, CSS: Notepad++, Dreamweaver, Rapid CSS…

Javascript: Aptana…

Database: MySQL Workbench, PhpMyAdmin…

Firefox Extension: Firebug, Web Developer, Xrefresh

Debugger & Profiler: Xdebug, DBG Debugger

Code Documentation: phpDocumentor, PHPXref

Page 17: Lập trình viên PHP

3. Công cụ phát triển

Page 18: Lập trình viên PHP

Cơ sở dữ liệu

Website

Session

Hệ thống File

Bảo mật4

Page 19: Lập trình viên PHP

4.1. Cơ sở dữ liệu

SQL Injection

Page 20: Lập trình viên PHP

4.1. SQL Injection

Page 21: Lập trình viên PHP

4.1. SQL Injection…

Xử lý dữ liệu trước khi truy vấn Sử dụng prepared statement Sử dụng thư viện PDO (PHP Data Object)

Page 22: Lập trình viên PHP

4.2. Bảo mật Website

Authentication Yếu Sử dụng thư viện, plugin không tốt DoS – DDoS – SPAM Cross Site Scripting – XSS Cross Site Request Forgery - CSRF

Page 23: Lập trình viên PHP

4.2.1. DoS - DDoS

DoS : Deny of Service DDoS: Distributed DoS

Page 24: Lập trình viên PHP

4.2.1. DDos – Case Study

Page 25: Lập trình viên PHP

4.2.1. DoS – DDoS…

Sử dụng trang điều hướng (vd: DnP Firewall Gateway)

Sử dụng cơ chế Session CAPTCHA …sử dụng tầng khác trong mô hình web

Hệ thống phát hiện xâm nhập (IDS) và hệ thống ngăn chặn xâm nhập (IPS)

Page 26: Lập trình viên PHP

4.3. Bảo mật Session

Session Hijacking

Page 27: Lập trình viên PHP

4.3.1. Session Hijacking

Page 28: Lập trình viên PHP

4.3.1. Session Hijacking – Case study

Page 29: Lập trình viên PHP

4.4. Hệ thống File

Remote File Inclusion Backdoor

Page 30: Lập trình viên PHP

4.4. Remote File Inclusion

Page 31: Lập trình viên PHP

4.4. Remote File Inclusion

Page 32: Lập trình viên PHP

4.4. Backdoor – C99Shell

Page 33: Lập trình viên PHP

4.4. Backdoor – r57 shell

Page 34: Lập trình viên PHP

…Defense in Depth

Page 35: Lập trình viên PHP

…Võ Duy Tuấn <[email protected]>

…Web Freelancer

… PHP Trainer @ CISNET

… Product Execute - Zing Me @VINAGAME

http://www.facebook.com/voduytuan

http://twitter.com/lonelywolfvn

http://blogHoctap.com

you_forgotif

Page 36: Lập trình viên PHP

It’s time to query me…

Thanks you!