<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Tue, 18 Jun 2013 17:01:32 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: 8 Practices to Secure Your Web App]]></title>
      <guid>http://www.phpdeveloper.org/news/19131</guid>
      <link>http://www.phpdeveloper.org/news/19131</link>
      <description><![CDATA[<p>
PHPMaster.com has posted a new article with some <a href="http://phpmaster.com/8-practices-to-secure-your-web-app/">high level security tips</a> and reminders for PHP developers when wanting to help prevent issues with their applications. The article provides eight tips, each with a brief description.
</p>
<blockquote>
When it comes to application security, in addition to securing your hardware and platform, you also need to write your code securely. This article will explain how to keep your application secure and less vulnerable to hacking.
</blockquote>
<p>
The good practices they recommend include input data validation, protecting against XSS attacks, preventing SQL injections, protecting session data, proper error handling and protecting included files. There's some good reminders here, but it barely scratches the surface of effectively protecting your application. These tips are the "low hanging fruit" for securing your app, so be aware that there's more things to worry about than just these eight.
</p>]]></description>
      <pubDate>Mon, 04 Feb 2013 12:56:40 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPClasses.org: Lately in PHP Podcast Episode 21 - Is PHP Source Quality Really Good?]]></title>
      <guid>http://www.phpdeveloper.org/news/17610</guid>
      <link>http://www.phpdeveloper.org/news/17610</link>
      <description><![CDATA[<p>
On PHPClasses.org today they've posted their latest "Lately in PHP" podcast - episode 21, "<a href="http://www.phpclasses.org/blog/post/177-Is-PHP-Source-Quality-really-Good-or-is-it-still-Insecure--Lately-in-PHP-podcast-episode-21.html">Is PHP Source Quality really Good or is it still Insecure?</a>".
</p>
<blockquote>
A study from Coverity claims that the source code of Open Source projects such as PHP has a low defect rate. Meanwhile, a few weeks ago, the security expert Stefan Esser claims that PHP source security bug prevention has a lot to be desired because PHP core developers do not have the habit of using source code auditing tools to prevent security bugs. The matter of the PHP source code quality and security bug prevention was one of the main topics discussed by Manuel Lemos and Ernani Joppert in episode 21 of the Lately in PHP podcast.
</blockquote>
<p>
You can listen to this latest episode either via <a href="http://www.phpclasses.org/blog/post/177-Is-PHP-Source-Quality-really-Good-or-is-it-still-Insecure--Lately-in-PHP-podcast-episode-21.html">the in-page player</a> or by <a href="http://www.phpclasses.org/blog/post/177/file/109/name/Lately-In-PHP-21.mp3">downloading the mp3</a> directly. You can also <a href="http://www.phpclasses.org/blog/category/podcast/post/latest.rss">subscribe to their feed</a> to get this episode automatically (and past/future ones too).
</p>]]></description>
      <pubDate>Thu, 01 Mar 2012 10:17:08 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Anthony Ferrara's Blog: Security Review: Creating a Secure PHP Login Script]]></title>
      <guid>http://www.phpdeveloper.org/news/16670</guid>
      <link>http://www.phpdeveloper.org/news/16670</link>
      <description><![CDATA[<p>
In response to <a href="http://phpdeveloper.org/news/16645">this article from DevShed</a> about creating a "simple and secure login script", <i>Anthony Ferrara</i> has <a href="http://blog.ircmaxell.com/2011/08/security-review-creating-secure-php.html">written up this post</a> to help dispel some of the inaccuracies, bad practices and security issues that could result from DevShed's code.
</p>
<blockquote>
I decided to click the link [in my feed reader] and give the article a read. Not overly shocking was the fact that I didn't find the content of the article to be, how shall I say this..., overly factual. It's not really a "tutorial", but more of a "here's some code that's secure". A quick review of the code found more than one vulnerability, and some significant things that I would change about it (as well as a few "really bad practices").
</blockquote>
<p>
He walks through each of the files included in the original tutorial - Authenticate.php, Register.php and Logout.php - and talks about things like brute force detection, password verification, registration handling and session serialization. He finishes it off with a list of twelve overall issues he noticed during his work along with solutions for each (usually very simple ones too).
</p>]]></description>
      <pubDate>Wed, 03 Aug 2011 12:02:19 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Devshed: Simple and Secure PHP Login Script]]></title>
      <guid>http://www.phpdeveloper.org/news/16645</guid>
      <link>http://www.phpdeveloper.org/news/16645</link>
      <description><![CDATA[<p>
In <a href="http://www.devshed.com/c/a/PHP/Creating-a-Secure-PHP-Login-Script-59941/">this new tutorial</a> on DevShed, they walk you through the creation of a secure login script that uses sha256 encryption, a captcha to prevent automated signups, XSS attack protection and several other features.
</p>
<blockquote>
Recent advancements in PHP offer the developer a variety of tools to improve the security of login systems. [...] This programming tutorial will teach you how to create a simple, yet secure login script utilizing PHP using MySQL and bracing for XSS attack prevention.
</blockquote>
<p>
Other features include no persistent logins, preventing direct file access, an idle timeout on the user session, protection against session fixation and anti-brute force measures. Full (procedural) code is provided as well as screenshots from phpMyAdmin showing the database table structure. You can grab the code for the project <a href="http://www.php-developer.org/php-secure-authentication-of-user-logins/">here</a>.
</p>]]></description>
      <pubDate>Thu, 28 Jul 2011 09:57:39 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Anthony Ferrara's Blog: In Response To: Building Secured Web Applications Using PHP - The Basics]]></title>
      <guid>http://www.phpdeveloper.org/news/16529</guid>
      <link>http://www.phpdeveloper.org/news/16529</link>
      <description><![CDATA[<p>
In a response to <a href="http://phpdeveloper.org/news/16517">this post</a> that introduced some basic security methods for your applications, <i>Anthony Ferrara</i> has <a href="http://blog.ircmaxell.com/2011/06/in-response-to-building-secured-web.html">posted some corrections</a> and updates to the suggested methods, even pointing out where some of them are completely wrong.
</p>
<blockquote>
Today an article popped into my feed reader that raise my eyebrows.  The article's title is "<a href="http://noobcode.blogspot.com/2011/05/building-secured-web-applications-using.html">Building Secured Web Applications Using PHP - The Basics</a>".  The summary of the item looked interesting, so I decided to open it up...What I found blew me away.  It was filled with loads of bad information including some down-right wrong suggestions.  Let me go through point by point and shed some light on the subject...
</blockquote>
<p>
<a href="http://blog.ircmaxell.com/2011/06/in-response-to-building-secured-web.html">His response</a> goes back through the original article by section header and explains either why the advice was bad and/or the more correct way to do things.
</p>
<blockquote>
Security is not something you can learn in a page.  It's not something that you can learn in a single book.  It takes a lot of time and effort.  It should not be trivialized into a simple "Do this and you'll be secure" style post.  It sends the wrong message...
</blockquote>]]></description>
      <pubDate>Tue, 28 Jun 2011 11:15:10 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Michael Nitschinger's Blog: Securing Lithium Forms]]></title>
      <guid>http://www.phpdeveloper.org/news/16443</guid>
      <link>http://www.phpdeveloper.org/news/16443</link>
      <description><![CDATA[<p>
<i>Michael Nitschinger</i> has a new post to his blog today showing how you can <a href="http://nitschinger.at/Securing-Lithium-Forms">secure the forms in Lithium</a> using the handy CSRF token implemented directly in the framework.
</p>
<blockquote>
CSRF (Cross-Site-Request-Forgery) attacks work by sending arbitary (form) requests from a victim. Normally, the receiving site (in our case the Controller who processes the form data) doesn't know where the data comes from. The CSRF protection in Lithium aims to solve this problem in an elegant and secure way. You can read more about those attacks <a href="http://shiflett.org/articles/cross-site-request-forgeries">here</a>. Note that you'll need to clone the latest master branch of Lithium if you want to try it out now.
</blockquote>
<p>
There's two parts to the protection, one on either side of things - a field in the form output and a check in the controller to see if the submitted value is correct. He includes code for a simple form (a title field and submit button) that lazy loads the Security helper and generates the token for you. He walks through the controller side of things a line at a time and includes a sample logging/forwarding bit in the second example to redirect users when the CSRF check doesn't pass.
</p>]]></description>
      <pubDate>Wed, 08 Jun 2011 12:03:23 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Write an Ajax-driven Login Application in PHP Using SSL/TLS]]></title>
      <guid>http://www.phpdeveloper.org/news/15102</guid>
      <link>http://www.phpdeveloper.org/news/15102</link>
      <description><![CDATA[<p>
On the PHPBuilder.com site today there's <a href="http://www.phpbuilder.com/columns/Login-Ajax-SSL/Octavia_Anghel090810.php3">a new tutorial posted</a> from <i>Octavia Anghel</i> about creating a login for your site that's powered by Ajax and uses a bit more security than normal. It includes hooks to use the Ajax Server Secure Layer or an OpenSSL connection.
</p>
<blockquote>
In this article you will learn how to write a login application in PHP using Ajax and SSL/TLS in two ways either using aSSL (Ajax Server Secure Layer), a library that implements a technology similar to SSL without HTTPS or a simple Ajax and OpenSSL, an open source implementation of the SSL and TLS protocols.
</blockquote>
<p>
They start with the aSSL method and link you to <a href="http://assl.sullof.com/assl/download.asp?file=assl1.2.1PHP4.zip">a download</a> of the tool as well as some sample code to help you get started passing data to it via the session. The second example shows the OpenSSL method, mostly consisting of checking on the server side of the certificate that's passed along with the request.
</p>]]></description>
      <pubDate>Thu, 09 Sep 2010 10:29:03 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NETTUTS.com: 20 Steps to a Flexible and Secure WordPress Installation]]></title>
      <guid>http://www.phpdeveloper.org/news/14860</guid>
      <link>http://www.phpdeveloper.org/news/14860</link>
      <description><![CDATA[<p>
On NETTUTS.com today there's a <a href="http://net.tutsplus.com/tutorials/wordpress/20-steps-to-a-flexible-and-secure-wordpress-installation/">new tutorial</a> about installing and configuring a secure WordPress installation for your site.
</p>
<blockquote>
A comprehensive WordPress installation, albeit simple to produce, often requires multiple steps '" many of which can easily be omitted accidentally. How many times have you forgotten to customize your permalink structure? How about adding in a sitemap plugin? What about changing your timezone? If you've installed WordPress more than once, chances are you've missed something. Take the following steps and you'll never miss anything again.
</blockquote>
<p>
Some of the steps are larger - "Get WordPress from SVN", "Add .htaccess Rules", "Apply the 4G Blacklist" - and some are smaller changes like setting up profiles, changing read/write/discussion settings and generating a sitemap. This is a great guide even if you already have WordPress installed.
</p>]]></description>
      <pubDate>Tue, 27 Jul 2010 13:18:43 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Arnold Daniels' Blog: A secure backdoor for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/14504</guid>
      <link>http://www.phpdeveloper.org/news/14504</link>
      <description><![CDATA[In a new post to his blog <i>Arnold Daniels</i> <a href="http://www.jasny.net/articles/a-secure-backdoor-for-php/">suggests putting something into your code</a> that many developers see as a bad practice, but can have some use - a backdoor to bypass the normal authentication process.
</p>
<blockquote>
In a perfect word you could just deliver an application and all would be good. However in the real world there are unforeseen issues which need to be solved. This means that you as a developer will need access to the application. To reproduce the problem, you usually want to run the application logged in as the user that spotted the issue.
</blockquote>
<p>
He suggests one way to attack the problem - a password that will always allow the user to become a superuser on the system. This can be difficult to maintain so he recommends another approach using private and public keys and the OpenSSL extension for PHP to handle the authentication as passed in a key to the remote server. You can try out his code for it by <a href="http://github.com/jasny/backdoor/archives/master">downloading it from github</a>.
</p>]]></description>
      <pubDate>Wed, 12 May 2010 12:47:31 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Vinu Thomas' Blog: Secure web development, an after thought?]]></title>
      <guid>http://www.phpdeveloper.org/news/13699</guid>
      <link>http://www.phpdeveloper.org/news/13699</link>
      <description><![CDATA[<p>
In <a href="http://blogs.vinuthomas.com/2009/12/17/secure-web-development-an-after-though">this recent post</a> to his blog <i>Vinu Thomas</i> touches on a few wrong ideas floating around about web application security (some specific to PHP) and tries to correct them.
</p>
<blockquote>
When I talk to developers about security in web development, I usually get the answer that the security is taken care by the systems team by securing the server and by using the https protocol. In reality that is just the tip of the iceberg on security. There's much more you should do as a developer to incorporate security into your applications.
</blockquote>
<p>
He points out that https doesn't secure your website, it only secures the communication between the client and server. You're still open to all of the usual attacks. Input validation can go a long way to helping to prevent this. He also mentions two insecure practices he's seen over and over - using file names in the URL parameters and using remote includes in an application (giving the remote site a direct line into your application's backend).
</p>]]></description>
      <pubDate>Fri, 18 Dec 2009 10:48:59 -0600</pubDate>
    </item>
  </channel>
</rss>
