Metadata-Version: 1.0
Name: plone.app.protect
Version: 1.0a1
Summary: Security for browser forms
Home-page: http://svn.plone.org/svn/plone/plone.app.example
Author: Wichert Akkerman
Author-email: plone-developers@lists.sourceforge.net
License: GPL
Description: Introduction
        ============
        
        This package contains utilities that can help to protect parts of Plone
        or applications build on top of the Plone framework.
        
        
        Form authentication
        ===================
        
        A common problem in web applications is Cross Site Form Submit, or CSFS. This
        is an attack method in which an attacker tricks a browser to do a HTTP form
        submit to another site. To do this the attacker needs to know the exact
        form parameters. Form authentication is a method to make it impossible for
        an attacker to predict those paramters by adding an extra authenticator
        which can be verified.
        
        To use the form authenticator you first need to insert it into your form.
        This can be done using a simple TAL statement inside your form::
        
        <span tal:replace="structure context/@@authenticator/authenticator"/>
        
        this will produce a HTML input element with the authentication information.
        Next you need to add logic somewhere to verify the authenticator. This
        can be done using a call to the authenticator view. For example:
        
        authenticator=getMultiAdapter((request, context), name=u"authenticator")
        if not authenticator.verify():
        raise Unauthorised:
        
        You can do the same thing more conveniently using a function decorator::
        
        from plone.app.protect.authenticator import AuthenticateFrom
        
        @AuthenticateFrom
        def manage_doSomething(self, param, REQUEST=None):
        pass
        
        This only works for methods which have a parameter called REQUEST.
        
        
        
        Changelog
        =========
        
        1.0a1 - January 27, 2008
        ------------------------
        
        - Initial release
        [wichert]
        
Keywords: plone security CSFS
Platform: UNKNOWN
Classifier: Framework :: Plone
Classifier: Framework :: Zope2
Classifier: Framework :: Zope3
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
