PHP User Group Finland     24.11.2011
• Carl (Kalle) Vuorinen         • Matti Suominen  –                      :ssa     –                   :ssa      vuodesta 2...
• Tietoturva                                  • Zend Framework     – OWASP Top Ten                            – MVC framew...
• Erikoismerkkien muuntaminen  – Escaping• Syötteiden tarkistukset  – Filtteröinti & validointi• SQL lauseiden esikäsittel...
• Zend_Db_Adapter & Zend_Db_Statement  $sql = SELECT * FROM bugs WHERE bug_id = ?;  $result = $db->fetchAll($sql, $bugId);...
• Tulosteiden siistiminen  – Escape output• Syötteiden tarkistukset  – Filtteröinti & validointi• PHP session konfiguroint...
• Zend_View escape() metodi  <?php foreach ($this->books as $key => $val): ?>  <tr>       <td><?php echo $this->escape($va...
• Zend_Form ja Zend_Filter &  Zend_Validate  $this->addElement(      text, username, array(          required   => true,  ...
• HTMLPurifier  – HTML Purifier defeats XSS with an audited    whitelist   http://htmlpurifier.org/  – class My_Filter_Htm...
• Piilotettu uniikki tunniste  – Hidden unique token
• Zend_Form_Hash  $form->addElement(hash, no_csrf_foo, array(salt => unique));• Automaattinen CSRF suojaus  – Extend Zend_...
• Hashing  – MD5 ei riitä  – bcrypt  – Hitaampi on parempi
• PHPASS – Portable PHP password hashing framework   http://www.openwall.com/phpass/ – class My_Auth_Adapter_DbTableHash  ...
•   http://framework.zend.com/•   https://www.owasp.org/•   http://static.zend.com/topics/Webinar-Zend-Secure-Application-...
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
×

Tietoturva web-kehityksessä & Zend Frameworkissä

1,815

Published on

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,815
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tietoturva web-kehityksessä & Zend Frameworkissä

  1. 1. PHP User Group Finland 24.11.2011
  2. 2. • Carl (Kalle) Vuorinen • Matti Suominen – :ssa – :ssa vuodesta 2005 vuodesta 2007 • PHP kehittäjä • Tietoturvahörhö • Tiiminvetäjä • Osakas • Osakas
  3. 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. 4. • Erikoismerkkien muuntaminen – Escaping• Syötteiden tarkistukset – Filtteröinti & validointi• SQL lauseiden esikäsittely – Prepared statements
  5. 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. 6. • Tulosteiden siistiminen – Escape output• Syötteiden tarkistukset – Filtteröinti & validointi• PHP session konfigurointi – httpOnly cookie
  7. 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. 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. 9. • HTMLPurifier – HTML Purifier defeats XSS with an audited whitelist http://htmlpurifier.org/ – class My_Filter_HtmlPurifier implements Zend_Filter_Interface
  10. 10. • Piilotettu uniikki tunniste – Hidden unique token
  11. 11. • Zend_Form_Hash $form->addElement(hash, no_csrf_foo, array(salt => unique));• Automaattinen CSRF suojaus – Extend Zend_Form• Linkkien suojaus – Javascript POST
  12. 12. • Hashing – MD5 ei riitä – bcrypt – Hitaampi on parempi
  13. 13. • PHPASS – Portable PHP password hashing framework http://www.openwall.com/phpass/ – class My_Auth_Adapter_DbTableHash extends Zend_Auth_Adapter_DbTable
  14. 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/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×