<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Value your mind &#187; Programming</title>
	<atom:link href="http://rangit.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://rangit.com</link>
	<description>Interesting. Informative.</description>
	<lastBuildDate>Mon, 24 Sep 2012 05:02:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>11 Methods To Keep Website Logins Safe And Secure Using PHP</title>
		<link>http://rangit.com/programming/11-methods-to-keep-website-logins-safe-and-secure-using-php/</link>
		<comments>http://rangit.com/programming/11-methods-to-keep-website-logins-safe-and-secure-using-php/#comments</comments>
		<pubDate>Thu, 03 May 2007 08:03:40 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Network Security]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://rangit.com/programming/11-methods-to-keep-website-logins-safe-and-secure-using-php/</guid>
		<description><![CDATA[Web based designers who develop login applications should keep these basic security measures in mind. Know that nothing in this world is unbreakable. With enough brain juice and time from God, anything can be broken into. The only thing that any security system can do is to slow down the attacker long enough to capture [...]]]></description>
				<content:encoded><![CDATA[<p>Web based designers who develop login applications should keep these basic security measures in mind. Know that nothing in this world is unbreakable. With enough brain juice and time from God, anything can be broken into. The only thing that any security system can do is to slow down the attacker long enough to capture them and fix the flaws. A good security system is one that is able to protect and recover from assaults. PHP together with MySQL are in the top 5 most popular web language today. Many web design companies use them cause they are free and have supportive user groups that are helpful. The following methods should be in place in any system as a minimum.</p>
<ol>
<h4>
<li>Username and Passwords</li>
</h4>
<p>Passwords are stronger at 8 characters, so keep that as a minimum. These are <a href="http://rangit.com/information-technology/steps-to-create-easy-to-remember-strong-passwords/">4 simple methods that anyone can follow to create easy to remember strong passwords</a>.</p>
<h4>
<li>Never be specific</li>
</h4>
<p>Even student developers are smart enough to just put up a unsuccessful login sign like </p>
<ul>
<li>&#8216;Incorrect password / username&#8217;</li>
<li>&#8216;Unsuccessful login attempt&#8217;</li>
</ul>
<p>Never give out clues or leads that will help intruders like </p>
<ul>
<li>&#8216;Password is missing one letter&#8217;</li>
<li>&#8216;Username is not found&#8217;</li>
</ul>
<h4>
<li>Hiding Errors Messages</li>
</h4>
<p>Placing @ in front of many of PHP function calls will stop any failure message from showing in the browser window. The ampersand symbol becomes useful when database calls are made during database downtime. This will keep the website looking professional while reducing feedback to intruders.</p>
<h4>
<li>Encrypt passwords in user account table</li>
</h4>
<p>Even if the intruder is successful in gaining access to the table, they should only be able to see logins and not passwords. Encrypt all passwords in the table to hold an SHA-1 encrypted string before you compare the user input password to the one stored in the database. </p>
<ul>
<li>Example Code<br />
$encrypted = sha1($password);</li>
<li>Example database data<br />
Username : rangit<br />
Password : d0be2dc421be4fcd0172e5afceea3970e2f3d940</li>
</ul>
<h4>
<li>Keep a log of all user activities</li>
</h4>
<p>Log the total number of logins for each user, as well as the data/time of their last login.</p>
<h4>
<li>Remove ALL backslashes</li>
</h4>
<p>Prevent your code from breaking unexpectedly by using ready made PHP functions like strip_tags(), str_replace() and stripslashes().</p>
<ul>
<li>Example code<br />
$login = @strip_tags($login);<br />
$login = @stripslashes($login);</li>
</ul>
<h4>
<li>Use &#8216;maxlength&#8217; in forms</li>
</h4>
<p>Limit the user to the allocated input size. </p>
<h4>
<li>Importance of referrer</li>
</h4>
<p>Make login scripts to check HTTP_REFERER to see that the request came from the same server. This security measure will stop simple spam bots and amateur attackers.</p>
<h4>
<li>Use $_POST not $_REQUEST</li>
</h4>
<p>If your HTML form uses POST to send the data to the login script, then make sure your login script gets the input data using $_POST and not $_REQUEST to prevent someone to pass data via GET, on the end of the URL string.</p>
<h4>
<li>SSL Encryption (https)</li>
</h4>
<p>If you think the website deserves the best of data privacy, purchase an SSL certificate to encrypt the pages.</p>
<h4>
<li>Limit user access according roles</li>
</h4>
<p>This is one of the most important method to <a href="http://rangit.com/programming/6-ways-on-how-to-prevent-sql-injections/">prevent SQL injetions</a>. Classify groups and distribute features and functionality based on roles. For example</p>
<ul>
<li>Cashers can only enter in sales, and not delete it</li>
<li>HR personals should only see employee information, and not the financial data</li>
</ul>
</ol>
<p><font style="line-height: 12px; font-size: 11px; font-family: verdana; arial; sans-serif;"><strong><a href="http://www.eioba.com/c71/computer"><u>eioba</u></a></strong></font><br />
<font style="line-height: 16px; font-size: 10px; font-family: verdana; arial; sans-serif;" >Intelligent articles database</font></p>
]]></content:encoded>
			<wfw:commentRss>http://rangit.com/programming/11-methods-to-keep-website-logins-safe-and-secure-using-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP Training &amp; Courses At An Affordable Price</title>
		<link>http://rangit.com/programming/php-training-courses-at-an-affordable-price/</link>
		<comments>http://rangit.com/programming/php-training-courses-at-an-affordable-price/#comments</comments>
		<pubDate>Thu, 19 Apr 2007 18:38:59 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Quality Reviews]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://rangit.com/programming/php-training-courses-at-an-affordable-price/</guid>
		<description><![CDATA[PHP. What&#8217;s so important about it? PHP is a server side programming language designed to produce amazing dynamic web pages which : allows you to create dynamic html pages and files. can be used to authenticate logins to a site allows web owners to redirect pages keep counters allows you to personalize pages. For example, [...]]]></description>
				<content:encoded><![CDATA[<p>PHP. What&#8217;s so important about it? </p>
<p>PHP is a server side programming language designed to produce amazing dynamic web pages which :</p>
<ul>
<li>allows you to create dynamic html pages and files.</li>
<li>can be used to authenticate logins to a site</li>
<li>allows web owners to redirect pages</li>
<li>keep counters</li>
<li>allows you to personalize pages. For example, if I login to a site using my username and password, the PHP codes will then tell the server to generate a personal note that says &#8216;Welcome, Chris!&#8217;. So if another person logs in, the server will generate another personal page that says &#8216;Welcome, (username)!&#8217;.</li>
<li>If you set up your own server you can use also PHP to allow people to download files from a certain folder and then log the ip address of the person that downloaded it. As long as the page saves or changes a file on the server, PHP will most likely be used.</li>
</ul>
<p><img src="http://img367.imageshack.us/img367/5028/phpmysqljv5.jpg" alt="php" /></p>
<p>There are plenty of <a href="http://www.otg-nc.com">PHP training</a> courses out there that helps people to learn even faster. <a href="http://www.otg-nc.com/training-courses/category.php?cat_id=7">Open Technology Group</a> is one fine example that provides the highest quality training at an affordable prices that includes post meet ups after classes. Their courses are taught by Zend certified PHP MySQL training instructors with over decade&#8217;s experience.</p>
<p>At the moment, they conduct classes on a monthly basis. The classes are carried out for a period of 5 days. If you live in the US and some other parts of Canada, airfare to North Carolina, accommodation, shuttle services and course materials are all included with the fee you pay.</p>
<p>Interested people are encouraged to submit a simple form or call them to ask about enrollment questions. They will even wire in  a technical instructor to take calls, if needed. I believe that they have special pricing for government or educational bodies.</p>
<div style="float: right;">
* sponsored review * <img src="http://tinyurl.com/39xbvm" />
</div>
<p><font style="line-height: 12px; font-size: 11px; font-family: verdana; arial; sans-serif;"><strong><a href="http://www.otg-nc.com/training-courses/category.php?cat_id=7"><u>PHP MySQL Training</u></a></strong></font><br />
<font style="line-height: 16px; font-size: 10px; font-family: verdana; arial; sans-serif;" >PHP training solutions</font></p>
]]></content:encoded>
			<wfw:commentRss>http://rangit.com/programming/php-training-courses-at-an-affordable-price/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>6 Ways On How To Prevent SQL Injections</title>
		<link>http://rangit.com/programming/6-ways-on-how-to-prevent-sql-injections/</link>
		<comments>http://rangit.com/programming/6-ways-on-how-to-prevent-sql-injections/#comments</comments>
		<pubDate>Mon, 09 Apr 2007 09:20:44 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[Network Security]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://rangit.com/programming/6-ways-on-how-to-prevent-sql-injections/</guid>
		<description><![CDATA[Basically, SQL injections happens when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and thereby unexpectedly executed. Any webmaster creating web applications that involves database manipulation will have to take these measures to prevent SQL injections. According to WhiteHat Security&#8217;s statistics, [...]]]></description>
				<content:encoded><![CDATA[<p>Basically, SQL injections happens when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and thereby unexpectedly executed. Any webmaster creating web applications that involves database manipulation will have to take these measures to prevent SQL injections.</p>
<p>According to <a href="http://www.whitehatsec.com/home/resources/presentations/files/wh_security_stats_webinar.pdf">WhiteHat Security&#8217;s statistics</a>, there is a 20% likelihood that 8 out of 10  websites have a vulnerability in the area of SQL Injections.</p>
<ol>
<h4>
<li>Keeping It Clean</li>
</h4>
<p>For example, it is important to make sure that users insert only codes that have these characters in the email field :</p>
<ul>
<li>abcdefghijklmnopqrstuvwxyz<br />
ABCDEFGHIJKLMNOPQRSTUVWXYZ<br />
0123456789<br />
@.-_+</li>
</ul>
<h4>
<li>Quotes Quotes Quotes</li>
</h4>
<p>Many database interface languages caters to the need of safe-quoting text. For example, MySQL uses 2 functions to &#8216;string quote&#8217; and to &#8216;string parse&#8217; :</p>
<ul>
<li>mysql_real_escape_string() adds backslashes in front of all the quotation marks.</li>
<li>stripslashes() removes backslashes in front of the quotation marks.</li>
</ul>
<h4>
<li>Bounding Parameters</li>
</h4>
<ul>
<li><strong>Insecure</strong></li>
<p>Statement s = connection.createStatement();<br />
ResultSet rs = s.executeQuery(&#8220;SELECT email FROM member WHERE name = &#8221; + formField); // *boom*</p>
<li><strong>Secure</strong></li>
<p>PreparedStatement ps = connection.prepareStatement(&#8220;SELECT email FROM member WHERE name = ?&#8221;);<br />
ps.setString(1, formField);<br />
ResultSet rs = ps.executeQuery();
</ul>
<p>Above is an example of bound parameters in Java. Neither quotes, semicolons, backslashes nor SQL comment notations are able to corrupt the string because it&#8217;s been turned into data. Bounding parameters is one of the most important step anyone can take to truly secure the database from injection attacks.</p>
<h4>
<li>Rights Management</li>
</h4>
<p>Web applications should use connections to the database with as little rights as possible. Web applications should start with only 1 type of access which is query access to members table. This method eliminates the possibility of using the &#8216;UPDATE&#8217; statement to taint the database. Let rights access be progressive, like allowing more flexibility only after a successful user validation.</p>
<h4>
<li>Making Use Of Stored Procedures</li>
</h4>
<p>As long as the interface on the stored procedure stays the same, the table structure can change with no consequence to the application that is using the database. This layer of abstraction is like an extra barrier because table permission is implicitly set. By only allowing database modifications through stored procedures, tables are safe from exposure to external applications.</p>
<h4>
<li>Separating TRUSTED and UNTRUSTED networks</li>
</h4>
<p>A DMZ is a computer network that is accessible from two other computer networks that have no direct contact with each other. Often, one of these networks is the Internet and the other is a local, internal network. Having a web server with very, very little  access in a DMZ prevents total control of all networks, even if one manages to take full control of the machine.
</ol>
<p><font style="line-height: 12px; font-size: 11px; font-family: verdana, arial, sans-serif;"><strong><a href="http://www.unixwiz.net/techtips/sql-injection.html"><u>SQL Injection Attacks</u></a></strong></font><br />
<font style="line-height: 16px; font-size: 10px; font-family: verdana, arial, sans-serif;" >Useful tips on SQL injection attacks</font></p>
]]></content:encoded>
			<wfw:commentRss>http://rangit.com/programming/6-ways-on-how-to-prevent-sql-injections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fetch The Code, Save The Time</title>
		<link>http://rangit.com/programming/fetch-the-code-save-the-time/</link>
		<comments>http://rangit.com/programming/fetch-the-code-save-the-time/#comments</comments>
		<pubDate>Mon, 05 Mar 2007 09:37:35 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Search Engine]]></category>

		<guid isPermaLink="false">http://rangit.com/programming/fetch-the-code-save-the-time/</guid>
		<description><![CDATA[Codefetch is a code search engine that connects programmers and authors so that programmers get the information they need from the work of supportive and encouraging book authors. Easily get results from 22 different programming languages : C Cold Fusion Ant C# Flash ActionScript Apache Configuration C++ HTML / CSS AppleScript Delphi Pascal Javascript / [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://img206.imageshack.us/img206/3198/codefetchpm6.jpg" alt="codefetch" /></p>
<p>Codefetch is a code search engine that connects programmers and authors so that programmers get the information they need from the work of supportive and encouraging book authors. Easily get results from 22 different programming languages :</p>
<ol>
<li>C</li>
<li>Cold Fusion</li>
<li>Ant</li>
<li>C#</li>
<li>Flash ActionScript</li>
<li>Apache Configuration</li>
<li>C++</li>
<li>HTML / CSS</li>
<li>AppleScript</li>
<li>Delphi Pascal</li>
<li>Javascript / Ajax</li>
<li>SQL</li>
<li>Java</li>
<li>JSP / JSTL / JSF</li>
<li>Unix / Shell</li>
<li>Objective-C Cocoa</li>
<li>Perl</li>
<li>XML-Schema</li>
<li>Python</li>
<li>PHP</li>
<li>XSLT / XPATH</li>
<li>Ruby / Rails</li>
</ol>
<p>It&#8217;s so easy to use. I tried entering <a href="http://www.codefetch.com/search?qy=path&#038;lang=php">&#8216;path&#8217; in &#8216;PHP&#8217;</a> and out came all the PHP codes from 22 different books. Then I entered the search term <a href="http://www.codefetch.com/search?qy=pizza&#038;lang=cplusplus">&#8216;pizza&#8217; and chose &#8216;C++&#8217;</a>. Out came codes that :</p>
<ul>
<li>Determines which of two pizza sizes is the best buy.</li>
<li>Determines whether a round pizza or a rectangular pizza is the best buy.</li>
<li>Returns the price per square inch of a pizza.</li>
</ul>
<p>Codefetch will generally benefit students and basic programmers by providing source codes to learn from. Moreover, this is also a good way for book authors to promote the content of the book.</p>
<p><font style="line-height: 12px; font-size: 11px; font-family: verdana, arial, sans-serif;"><strong><a href="http://www.codefetch.com/"><u>Code Fetch</u></a></strong></font><br />
<font style="line-height: 16px; font-size: 10px; font-family: verdana, arial, sans-serif;" >Fetch the code you need.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://rangit.com/programming/fetch-the-code-save-the-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code IDE : The Free Online IDE</title>
		<link>http://rangit.com/programming/code-ide-the-free-online-ide/</link>
		<comments>http://rangit.com/programming/code-ide-the-free-online-ide/#comments</comments>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Programmers, you&#8217;re gonna love this. I found an online Integrated Development Environment for 7 different languages. It has many features that are useful to me. I can do syntax highlighting, view line numbers and search to replace letters. It supports : Pascal C++ Perl JavaScript HTML LISP Math This is how the editor looks like. [...]]]></description>
				<content:encoded><![CDATA[<p>Programmers, you&#8217;re gonna love this. I found an online Integrated Development Environment for 7 different languages. It has many features that are useful to me. I can do syntax highlighting, view line numbers and search to replace letters. It supports :</p>
<ol>
<li>Pascal</li>
<li>C++</li>
<li>Perl</li>
<li>JavaScript</li>
<li>HTML</li>
<li>LISP</li>
<li>Math </li>
</ol>
<p>This is how the editor looks like.</p>
<p><img src="http://rangit.com/images/stories/xtdratings/2007/02//dashboard.jpg" width="500" height="223" alt="dashboard" title="dashboard" /></p>
<p>The design is soft and smooth, which makes me feel sort of relaxed and able to program for hours.</p>
<p>Results are shown on a panel on the right hand side of the editor. You can also see what other anonymous users are trying out from looking at the public live results panel located at the bottom. It looks like this. </p>
<p><img src="http://rangit.com/images/stories/xtdratings/2007/02//live.jpg" width="500" height="109" alt="live" title="live" /></p>
<p>Register yourself to store files on the site itself. They even allow users to publish their work on the <a href="http://www.codeide.com/wiki.cgi">wiki page</a>. Pretty interactive if you ask me. Check out the <a href="http://www.codeide.com/forum/">forums</a> for questions and suggested solutions by forum members.</p>
<p><img src="http://rangit.com/images/stories/xtdratings/2007/02//dash.jpg" width="500" height="301" alt="dash" title="dash" /></p>
<p><a href="http://www.codeide.com/"><strong>CodeIDE</strong></a><br />
the free online compiler</p>
]]></content:encoded>
			<wfw:commentRss>http://rangit.com/programming/code-ide-the-free-online-ide/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Free Computer Books, Tutorials, Lecture Notes</title>
		<link>http://rangit.com/programming/free-computer-books-tutorials-lecture-notes/</link>
		<comments>http://rangit.com/programming/free-computer-books-tutorials-lecture-notes/#comments</comments>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[It&#8217;s great when one can learn how to program for free. Thanks to freecomputerbooks.com, everyone can now learn for free. Previously, there was a similar entry on another website which also provided free IT tutorials . On the main page, we can see the tutorials classified into 9 different categories. The more common subcategories are [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://img101.imageshack.us/img101/9008/freecomputerbookscf2.jpg" alt="free computer books" /></p>
<p>It&#8217;s great when one can learn how to program for free. Thanks to freecomputerbooks.com, everyone can now learn for free. Previously, there was a similar entry on another website which also provided free IT tutorials . On the main page, we can see the tutorials classified into 9 different categories. The more common subcategories are listed out next to it. Looks very detailed to me. Here&#8217;s a screenshot for a better description.</p>
<p>Take look at the website for yourself! Have fun learning!</p>
<p><font style="line-height: 12px; font-size: 11px; font-family: verdana; arial; sans-serif;"><strong><a href="http://freecomputerbooks.com/"><u>Free Computer Books</u></a></strong></font><br />
<font style="line-height: 16px; font-size: 10px; font-family: verdana; arial; sans-serif;" >The free IT tutorials website</font></p>
]]></content:encoded>
			<wfw:commentRss>http://rangit.com/programming/free-computer-books-tutorials-lecture-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How A Programmer Evolves</title>
		<link>http://rangit.com/programming/how-a-programmer-evolves/</link>
		<comments>http://rangit.com/programming/how-a-programmer-evolves/#comments</comments>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Patrick Jordan has an interesting joke article on the evolution of a programmer. How one evolves from learning the basics in Junior High School to a Hacker, then a Manger, then finally the Chief Executive. Take a coffee break and check it out!]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html">Patrick Jordan</a> has an interesting joke article on the evolution of a programmer. How one evolves from learning the basics in Junior High School to a Hacker, then a Manger, then finally the Chief Executive. Take a coffee break and check it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://rangit.com/programming/how-a-programmer-evolves/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
