[ 
http://www.stripesframework.org/jira/browse/STS-363?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12349#comment-12349
 ] 

Clemens Fuchslocher commented on STS-363:
-----------------------------------------

Stripes should provide built-in CSRF protection.

* Django: https://docs.djangoproject.com/en/dev/ref/contrib/csrf/
* Grails: 
http://grails.org/doc/latest/guide/single.html#6.1.11%20Handling+Duplicate+Form+Submissions
* HDIV: http://www.hdiv.org/
* Ruby on Rails: 
http://guides.rubyonrails.org/security.html#cross-site-request-forgery-csrf
* Seam: 
http://docs.jboss.org/seam/2.2.2.Final/reference/en-US/html/controls.html#d0e29274


> Flow Control Token to prevent XSRF/double-posting
> -------------------------------------------------
>
>                 Key: STS-363
>                 URL: http://www.stripesframework.org/jira/browse/STS-363
>             Project: Stripes
>          Issue Type: New Feature
>          Components: Context Management, Tag Library
>            Reporter: Sylvan von Stuppe
>            Priority: Minor
>         Attachments: FormTickets2.patch, FormTickets.patch
>
>
> I would love to have a built-in feature for generating a random token, 
> putting this token into the user's session, then be able to have the same 
> token as a hidden form value on subsequent pages.  When a user submits a 
> page, the token the send is checked against the one in the session (possibly 
> as part of the @Validate annotation?) and if they don't match, the user is 
> sent to a different page.  If they do match, the action continues.
> I attempted to do this as part of a BaseActionBean class, but it quickly fell 
> apart because the default binding is for the form to be populated by what the 
> user submitted, not what's in the bean.  So the first request would work 
> because the user didn't submit anything, the attribute is gotten from the 
> bean (which would generate the new token, set it in the session, and return 
> it), and was presented on the form.  But on subsequent requests, the value 
> came from what the user submitted (the old token), rather than from the bean. 
>  So I ended up having to use a vanilla <input> tag with ${} to get the value 
> out of the request scope.
> I don't know of the most "Stripes friendly" way to implement this, but I 
> suspect it would require changes to the ActionBeanContext and certainly the 
> tag libraries.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on "Lean Startup 
Secrets Revealed." This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to