<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/index.php?action=history&amp;feed=atom&amp;title=CRV2_CSRFIssues</id>
		<title>CRV2 CSRFIssues - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/index.php?action=history&amp;feed=atom&amp;title=CRV2_CSRFIssues"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=CRV2_CSRFIssues&amp;action=history"/>
		<updated>2026-05-05T14:37:54Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=CRV2_CSRFIssues&amp;diff=161090&amp;oldid=prev</id>
		<title>Abbas Naderi: simple CSRF protection for PHP</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=CRV2_CSRFIssues&amp;diff=161090&amp;oldid=prev"/>
				<updated>2013-10-18T19:37:30Z</updated>
		
		<summary type="html">&lt;p&gt;simple CSRF protection for PHP&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Having CSRF-proof forms and actions is a complex task, and very prone to human-error. The most effective means of mitigating it is incorporating it into a widget library, for example OWASP PHP Security Widget library, which automaticlaly uses CSRF protection.&lt;br /&gt;
&lt;br /&gt;
CSRF Protection for GET and COOKIE elements is hard and not recommended, therefore all operations that change the state of the application in someway should be implemented using HTTP Post (or other HTTP state changing requests).&lt;br /&gt;
&lt;br /&gt;
Generally, CSRF protection is achieved by generating cryptographically secure, '''required''' parameters into HTML forms, and checking them back when they are submitted. If they are submitted and valid, they should get expired.&lt;/div&gt;</summary>
		<author><name>Abbas Naderi</name></author>	</entry>

	</feed>