{"id":1153,"date":"2015-09-22T09:28:44","date_gmt":"2015-09-22T14:28:44","guid":{"rendered":"https:\/\/2015.toronto.wordcamp.org\/?post_type=wcb_session&#038;p=1153"},"modified":"2015-09-24T09:45:22","modified_gmt":"2015-09-24T14:45:22","slug":"writing-secure-code","status":"publish","type":"wcb_session","link":"https:\/\/toronto.wordcamp.org\/2015\/session\/writing-secure-code\/","title":{"rendered":"Writing Secure Code"},"content":{"rendered":"<p>Is your code vulnerable to SQL Injection Attacks, Cross-Site Request Forgery, or Cross-Site Scripting Attacks? Learn how to avoid letting hackers break your sites using these common techniques. Important for anyone developing writing their own themes and plugins in WordPress. <!--more--><\/p>\n<p><strong>Learning Outcomes<\/strong><\/p>\n<ul>\n<li>Understand Basic Code Vulnerability Types<\/li>\n<li>Sanitize and Escape Code<\/li>\n<li>Secure Forms with Nonces<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Is your code vulnerable to SQL Injection Attacks, Cross-Site Request Forgery, or Cross-Site Scripting Attacks? Learn how to avoid letting hackers break your sites using these common techniques. Important for anyone developing writing their own themes and plugins in WordPress.<\/p>\n","protected":false},"author":5603640,"featured_media":0,"template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_session_time":1443978000,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[1266],"footnotes":""},"session_track":[8858],"session_category":[],"class_list":["post-1153","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-developers"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5UjGY-iB","jetpack_likes_enabled":false,"session_date_time":{"date":"October 4, 2015","time":"12:00 pm"},"session_speakers":[{"id":"1266","slug":"shawn-hooper","name":"Shawn Hooper","link":"https:\/\/toronto.wordcamp.org\/2015\/speaker\/shawn-hooper\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/toronto.wordcamp.org\/2015\/wp-json\/wp\/v2\/sessions\/1153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/toronto.wordcamp.org\/2015\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/toronto.wordcamp.org\/2015\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":2,"href":"https:\/\/toronto.wordcamp.org\/2015\/wp-json\/wp\/v2\/sessions\/1153\/revisions"}],"predecessor-version":[{"id":1265,"href":"https:\/\/toronto.wordcamp.org\/2015\/wp-json\/wp\/v2\/sessions\/1153\/revisions\/1265"}],"speakers":[{"embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2015\/wp-json\/wp\/v2\/speakers\/1266"}],"author":[{"embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2015\/wp-json\/wporg\/v1\/users\/shooper"}],"wp:attachment":[{"href":"https:\/\/toronto.wordcamp.org\/2015\/wp-json\/wp\/v2\/media?parent=1153"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2015\/wp-json\/wp\/v2\/session_track?post=1153"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2015\/wp-json\/wp\/v2\/session_category?post=1153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}