Transcript
Page 1: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Sanitizing, Validating and Escapingin WordPress Themes and Plugins

by Micah Wood @wpscholar

wpscholar.com/wpyall2014

Page 2: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

SanitizationCleaning user input

Page 3: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Sanitization Example

Page 4: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Sanitize Text Fields

Page 5: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Sanitize URL Slugs

Page 6: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Sanitize URLs

Page 7: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Sanitize Emails

Page 8: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Sanitize HTML Classes

Page 9: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Sanitize HTML

Page 10: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Other Sanitization Functions• sanitize_file_name() • sanitize_key() • sanitize_mime_type() • sanitize_sql_orderby() • sanitize_title_for_query() • sanitize_title_with_dashes() • sanitize_user()

Page 11: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

ValidationChecking user input

Page 12: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Validation Example

Page 13: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Data Type

Page 14: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Validate HTML

Page 15: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Validate Meta

Page 16: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Validate Capability

Page 17: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Validate Option

Page 18: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Validate Intention

Page 19: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

EscapingSecuring output

Page 20: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape HTML Attributes

Page 21: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape HTML Attributes

Page 22: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape HTML

Page 23: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape HTML

Page 24: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape URLs

Page 25: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape Textareas

Page 26: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape Inline JavaScript

Page 27: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape SQL Queries

Permanent link to this comic: http://xkcd.com/327/

Page 28: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape SQL Queries

Page 29: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape SQL Queries

Page 30: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape SQL Queries

Page 31: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape SQL Queries

Page 32: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Escape SQL Queries

Page 33: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Tips• Search for echo $ and echo get_ • Use VIP Scanner if you are creating a theme

Page 34: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Trust WordPress

Page 35: Sanitizing, Validating and Escaping in WordPress Themes and Plugins

Questions?


Recommended