<?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>Thu, 23 May 2013 21:20:53 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Liip Blog: 2-step verification with Google Authenticator and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/18335</guid>
      <link>http://www.phpdeveloper.org/news/18335</link>
      <description><![CDATA[<p>
With the recent focus on security (caused by some major issues with large companies) Google has responded by reinforcing their 2-Factor Authentication method. Thankfully, there's a way you can implement that functionality in your applications too using the information in <a href="http://blog.liip.ch/archive/2011/08/29/2-step-verification-with-google-authenticator-and-php.html">this tutorial</a> (note: the date of posting is older, but it's definitely relevant now).
</p>
<blockquote>
Many large web services nowadays support 2-step verification to enhance the security for their users. [...] The main point about 2-step verification is that something else than your computer provides that token. If it's on your computer and that one gets stolen (or hacked into), it won't help much for the additional security. That's why you need a second device for those tokens.
</blockquote>
<p>
They link to <a href="https://github.com/chregu/GoogleAuthenticator.php">this library</a> that can help you implement something similar to Google's <a href="http://code.google.com/p/google-authenticator/">Authenticator</a> tool for your application.
</p>]]></description>
      <pubDate>Wed, 08 Aug 2012 13:12:01 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Artur Ejsmont's Blog: How to properly secure remote API calls over SSL from PHP code]]></title>
      <guid>http://www.phpdeveloper.org/news/16877</guid>
      <link>http://www.phpdeveloper.org/news/16877</link>
      <description><![CDATA[<p>
<i>Artur Ejsmont</i> has a new post with a passionate call to arms for anyone who thinks that just because their URL has "https" in it, it's secure. He presents his suggestion on <a href="http://artur.ejsmont.org/blog/content/how-to-properly-secure-remote-api-calls-from-php-application">how to properly secure SSL API calls</a> for your PHP application.
</p>
<blockquote>
Lets make something clear from the very start: JUST BECAUSE THERE IS https:// IN THE URL OF THE REMOTE SERVICE IT DOES NOT MEAN THE CONNECTION IS SECURE! I am sorry for the tone of this post but i am enraged by how popular this issue is online. If you ask why i suggest a little experiment [involving changing your hosts file and using a self-signed certificate].
</blockquote>
<p>
The issue he spotlights is all too common - a server serves up SSL pages but doesn't actually verify the certificate in the process. He gives a bad example of how some scripts handle this issue using the CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST to turn off this verification - a very bad idea. To protect yourself from any kind of man-in-the-middle or DNS hijack issues, you should leave these on. 
</p>]]></description>
      <pubDate>Mon, 19 Sep 2011 13:56:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Liip Blog: 2-Step Verification with Google Authenticator and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/16795</guid>
      <link>http://www.phpdeveloper.org/news/16795</link>
      <description><![CDATA[<p>
On the Liip blog there's <a href="http://blog.liip.ch/archive/2011/08/29/2-step-verification-with-google-authenticator-and-php.html">a recent post</a> talking about a tool Google offers to help you authenticate your users, a one-time passcode generator called <a href="http://code.google.com/p/google-authenticator/">Google Authenticator</a>. The post talks about a PHP port of the same idea.
</p>
<blockquote>
The main point about 2-step verification is that something else than your computer provides that token. If it's on your computer and that one gets stolen (or hacked into), it won't help much for the additional security. That's why you need a second device for those tokens. Some banks do that with SMS/Text Messages (Facebook, too), other give you special devices for that (eg. RSA keys) and the last group does it with your smartphone.
</blockquote>
<p>
At the request of a client, they created a tool that did just this, but for PHP. As a result, they created the <a href="https://github.com/chregu/GoogleAuthenticator.php">GoogleAuthenticator</a> library that makes it easy to implement in your application. There's even <a href="https://github.com/chregu/GoogleAuthenticator.php/tree/master/web">an example</a> of it in use. For more information about the Google Authenticator tool, see <a href="http://code.google.com/p/google-authenticator/">this page on Google Code</a>.
</p>]]></description>
      <pubDate>Wed, 31 Aug 2011 09:53:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Abhinav Singh's Blog: How to add content verification using hmac in PHP ]]></title>
      <guid>http://www.phpdeveloper.org/news/13639</guid>
      <link>http://www.phpdeveloper.org/news/13639</link>
      <description><![CDATA[<p>
If you've ever wants an easy "drop in" kind of solution for helping to protect a portion of your site, you should check out <a href="http://abhinavsingh.com/blog/2009/12/how-to-add-content-verification-using-hmac-in-php/">this new post</a> from <i>Abhinav Singh</i> about using the <a href="http://php.net/manual/en/function.hash-hmac.php">has_hmac</a> functionality to do just that.
</p>
<blockquote>
Many times a requirement arises where we are supposed to expose an API for intended users, who can use these API endpoints to GET/POST data on our servers. But how do we verify that only the intended users are using these API's and not any hacker or attacker. In this blog post, I will show you the most elegant way of adding content verification using <a href="http://php.net/manual/en/function.hash-hmac.php">hash_hmac</a> (Hash-based Message Authentication Code) in PHP. This will allow us to restrict possible misuse of our API by simply issuing an API key for intended users.
</blockquote>
<p>
You set up a private and public key for each of the users wanting to connect to the resource. They can then use the hmac functionality to set those over to the requesting page as a part of the message (GET/POST) where the public key is used to check the validity of the request and either allow or deny it. 
</p>]]></description>
      <pubDate>Tue, 08 Dec 2009 10:39:24 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[NETTUTS.com: How to Implement Email Verification for New Members]]></title>
      <guid>http://www.phpdeveloper.org/news/12536</guid>
      <link>http://www.phpdeveloper.org/news/12536</link>
      <description><![CDATA[<p>
On the NETTUTS.com site, a <a href="http://net.tutsplus.com/tutorials/php/how-to-implement-email-verification-for-new-members/">new tutorial</a> has been posted about implementing a system to validate new members/signups for your site via their email.
</p>
<blockquote>
Have you ever created an account with a website, and were required to check your email and click through a verification link sent by the company in order to activate it? Doing so highly reduces the number of spam accounts. In this lesson, we'll learn how to do this very thing!
</blockquote>
<p>
The system takes a user's information via the signup page (username and email address), does some checking on the input, inserts the information into a backend MySQL database and sends a validation email to the user's address. The email contains a custom link the user then clicks on that confirms them as a validated account.
</p>]]></description>
      <pubDate>Tue, 19 May 2009 09:32:43 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Utah PHP Users Group: PHP-CAPTCHA]]></title>
      <guid>http://www.phpdeveloper.org/news/5783</guid>
      <link>http://www.phpdeveloper.org/news/5783</link>
      <description><![CDATA[<p>
On the Utah PHP Users Group website today, there's a <a href="http://uphpu.org/article.php?story=20060712222623101">quick new tutorial</a> concerning the creation of a CAPTCHA image for your site (using the GD functionality in PHP).
</p>
<blockquote>
The following article includes code and examples on how to prevent bots from taking part in online polls, registering for free email accounts, more recently, preventing bot-generated spam by requiring that the (unrecognized) sender pass a CAPTCHA test before the email message is delivered [implemented in Yahoo]. They have also been used to prevent people from using bots to assist with massive downloading of content from multimedia websites.
</blockquote>
<p>
First, they <a href="http://uphpu.org/article.php?story=20060712222623101">create the form</a> the entire example centers around before even looking at the code. With that laid down and explained, they get into the image creation and addition of the string to make the "humans only" image. Finally, they show how to check the word entered for the CAPTCHA verification against a session variable to see if they're a match.
</p>]]></description>
      <pubDate>Thu, 13 Jul 2006 05:34:24 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Nick Silvestro's Blog: Verification is a Wonderful Thing]]></title>
      <guid>http://www.phpdeveloper.org/news/5666</guid>
      <link>http://www.phpdeveloper.org/news/5666</link>
      <description><![CDATA[<p>
In the neverending battle against spam comment posts on websites (or just bots in general), CAPTCHA has become one of the favored tools to make things "humans only". There are libraries out there that can help you drop it right into your page, but if you want to really know how it all works, you might check out <a href="http://www.ennkayohh.net/blog/archive/2006/06/23/verification_is_a_wonderful_thing.html">this new tutorial</a> from <i>Nick Silvestro</i>'s blog.
</p>
<blockquote>
<p>
So, as said, I've needed to whip together a user registration system, where the user can simply and easily hop onto a page, fill in a couple of text fields, hit submit and they've got an account, all setup and ready to go. Alot of this was simplified by the database design of the system, but I guess I can cover that in another article.
</p>
<p>
One of the problems with creating a non-administrated user registration system is verification. I really really don't want bots or anything other than a person that actually wants it registering accounts. It creates unwanted nuisances and erroneous data that I could really live without. 
</p>
</blockquote>
<p>
He <a href="http://www.ennkayohh.net/blog/archive/2006/06/23/verification_is_a_wonderful_thing.html">touches on</a> two methods for preventing these nuisances - varification emails and CAPTCHAs. Obviosuly, he opts to go with the latter, and, before even starting, outlines his requirements. He leads you along, step by step, through code and explainations to help create a small CAPTCHA image with the help of the GD library. In the end, you'll have an image with plently of background noise to fool bots, but clear enough for a human to read. The full code for the script is posted <a href="http://www.ennkayohh.net/blog/archive/2006/06/23/verification_is_a_wonderful_thing.html">at the end</a>.
</p>]]></description>
      <pubDate>Fri, 23 Jun 2006 06:39:48 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Visual Verification in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/4926</guid>
      <link>http://www.phpdeveloper.org/news/4926</link>
      <description><![CDATA[In <a href="http://www.phpbuilder.com/columns/patterson20060301.php3">this article</a> from PHPBuilder.com they take a look at how to integrate a "visual verification" system into your web forms to prevent spammers (CAPTCHA).
<p>
<quote>
<i>
Many topics on the <a href="http://www.phpbuilder.com/forum/">discussion forums</a> deal with the verification of form data. Often it is checked to determine whether or not the submission is from a user or from a "bot", if the email address entered is a valid address, or if all the information that is required has been entered into the form. 
<p>
While it's fairly easy to check to see if a form field is empty, determining if the posted information came from a real human is another task altogether. Most forms now include image verification for just this reason. This article will demonstrate how to create a simplified image verification system.
</i>
</quote>
<p>
They <a href="http://www.phpbuilder.com/columns/patterson20060301.php3">walk you through the code</a>, explainign each step of the way. They start with the creation of a random string, background, and font color for the CAPTCHA image to use. It's flexible enough to make either a string or just a word, too. Once the string is made, they set up the image to be written to and push each letter into it, rotating it to make it that much more difficult for scripts to try to understand its contents.]]></description>
      <pubDate>Fri, 03 Mar 2006 06:46:42 -0600</pubDate>
    </item>
  </channel>
</rss>
