Your SlideShare is downloading. ×
0
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Tietoturva web-kehityksessä & Zend Frameworkissä
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Tietoturva web-kehityksessä & Zend Frameworkissä

1,712

Published on

Presentation from PHP User Group Finland 24.11.2011 (in Finnish)

Presentation from PHP User Group Finland 24.11.2011 (in Finnish)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,712
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PHP User Group Finland 24.11.2011
  • 2. • Carl (Kalle) Vuorinen • Matti Suominen – :ssa – :ssa vuodesta 2005 vuodesta 2007 • PHP kehittäjä • Tietoturvahörhö • Tiiminvetäjä • Osakas • Osakas
  • 3. • Tietoturva • Zend Framework – OWASP Top Ten – MVC framework – 10 kriittisintä web – Komponentti kirjasto sovellusten tietoturvariskiä Extending the art & spirit of PHP, Zend Framework is based on simplicity, – Injektio, XSS, CSRF, object-oriented best practices, salasanojen suojaus corporate friendly licensing, and ahttps://www.owasp.org/index.php/Top_10_2010 rigorously tested agile codebase. http://framework.zend.com/about/overview
  • 4. • Erikoismerkkien muuntaminen – Escaping• Syötteiden tarkistukset – Filtteröinti & validointi• SQL lauseiden esikäsittely – Prepared statements
  • 5. • Zend_Db_Adapter & Zend_Db_Statement $sql = SELECT * FROM bugs WHERE bug_id = ?; $result = $db->fetchAll($sql, $bugId);• Zend_Db_Select $select = $db->select() ->from(products, array(product_id, product_name, price)) ->where(price > ?, $minimumPrice);• Zend_Db_Table $table = new Bugs(); $rows = $table->find($bugId);
  • 6. • Tulosteiden siistiminen – Escape output• Syötteiden tarkistukset – Filtteröinti & validointi• PHP session konfigurointi – httpOnly cookie
  • 7. • Zend_View escape() metodi <?php foreach ($this->books as $key => $val): ?> <tr> <td><?php echo $this->escape($val[author]) ?></td> <td><?php echo $this->escape($val[title]) ?></td> </tr> <?php endforeach; ?>
  • 8. • Zend_Form ja Zend_Filter & Zend_Validate $this->addElement( text, username, array( required => true, label => Username:, filters => array(StringTrim, StringToLower), validators => array( Alnum, array(Regex, false, array(/^[a-z][a-z0-9]{2,}$/)) ) ));• Zend_Filter_Input
  • 9. • HTMLPurifier – HTML Purifier defeats XSS with an audited whitelist http://htmlpurifier.org/ – class My_Filter_HtmlPurifier implements Zend_Filter_Interface
  • 10. • Piilotettu uniikki tunniste – Hidden unique token
  • 11. • Zend_Form_Hash $form->addElement(hash, no_csrf_foo, array(salt => unique));• Automaattinen CSRF suojaus – Extend Zend_Form• Linkkien suojaus – Javascript POST
  • 12. • Hashing – MD5 ei riitä – bcrypt – Hitaampi on parempi
  • 13. • PHPASS – Portable PHP password hashing framework http://www.openwall.com/phpass/ – class My_Auth_Adapter_DbTableHash extends Zend_Auth_Adapter_DbTable
  • 14. • http://framework.zend.com/• https://www.owasp.org/• http://static.zend.com/topics/Webinar-Zend-Secure-Application-Development-with- the-Zend-Framework.pdf• http://htmlpurifier.org/• http://blog.astrumfutura.com/2008/05/example-zend-framework-blog-application- tutorial-part-8-creating-and-editing-blog-entries-with-a-dash-of-htmlpurifier/• https://www.owasp.org/index.php/Cross- Site_Request_Forgery_%28CSRF%29_Prevention_Cheat_Sheet• http://www.openwall.com/phpass/• http://www.openwall.com/articles/PHP-Users-Passwords• http://codahale.com/how-to-safely-store-a-password/

×