<?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>Ralf Eisenreich &#187; PHP</title>
	<atom:link href="http://sqlblog.de/blog/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://sqlblog.de/blog</link>
	<description>SQLBlog.DE &#124; ..things to remember</description>
	<lastBuildDate>Mon, 26 Dec 2011 14:37:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Social Community: MeineLeu.de</title>
		<link>http://sqlblog.de/blog/2007/12/social-community-meineleude/</link>
		<comments>http://sqlblog.de/blog/2007/12/social-community-meineleude/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 07:49:36 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[bookmarks]]></category>
		<category><![CDATA[by the way]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[community]]></category>

		<guid isPermaLink="false">http://sqlblog.de/blog/index.php/2007/12/04/social-community-meineleude/</guid>
		<description><![CDATA[&#8220;Meine Leude&#8221; ist eine kostenlose Internetplattform zur Bildung von sozialen Netzwerken im deutschsprachigen Raum. Sie wurde im Oktober 2006 von...]]></description>
			<content:encoded><![CDATA[<p><a href="http://meineleu.de"><img src='http://sqlblog.de/blog/wp-content/uploads/2007/12/meineleude.jpg' alt='MeineLeude Logo' /></a></p>
<p>&#8220;Meine Leude&#8221; ist eine kostenlose Internetplattform zur Bildung von sozialen Netzwerken im deutschsprachigen Raum. Sie wurde im Oktober 2006 von Stefan Maischner entwickelt und liegt mittlerweile in der beta5 vor.</p>
<p>Auf jeden Fall ist <a href="http://meineleu.de">MeineLeu.de</a> ein absoluter Surftipp!</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2007/12/social-community-meineleude/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP Editor: Visual Studio</title>
		<link>http://sqlblog.de/blog/2007/11/php-editor-visual-studio/</link>
		<comments>http://sqlblog.de/blog/2007/11/php-editor-visual-studio/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 00:23:04 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://sqlblog.de/blog/index.php/2007/11/30/php-editor-visual-studio/</guid>
		<description><![CDATA[Ein sehr guter PHP Editor inklusive Debugging-, Deployment- und (Smarty)-Template-Unterstützung heißt VS.PHP von Jcx.Software. AuÃŸerdem gibt es 4 verschiedene Versionen:...]]></description>
			<content:encoded><![CDATA[<p><img src="http://sqlblog.de/blog/wp-content/uploads/2007/11/vsphp.png" alt="VS.PHP" /></p>
<p>Ein sehr guter PHP Editor inklusive Debugging-, Deployment- und (Smarty)-Template-Unterstützung heißt <a href="http://www.jcxsoftware.com/jcx/vsphp/home">VS.PHP</a> von <a href="http://www.jcxsoftware.com">Jcx.Software</a>.</p>
<p>AuÃŸerdem gibt es 4 verschiedene Versionen:</p>
<ul>
<li>
<ol>VS.Php Standalone Edition</ol>
<ol>VS.Php for Visual Studio 2005</ol>
<ol>VS.Php for Visual Studio .Net 2003</ol>
<ol>VS.Php for Visual Studio .Net</ol>
</li>
</ul>
<p>Besonders die Integration in Visual Studio ist sehr interessant.</p>
<p>Das sagt Jcx.Software dazu:</p>
<blockquote><p>If you are a .Net developer you may wonder why VS.Php? Php is one of the most popular languages for developing web applications. In fact, the Php community has the largest pool of rich open source applications, frameworks and resources to make your development life easier. VS.Php lets those who enjoy using Visual Studio use their favorite IDE for Php development. VS.Php also provides many unique features by leveraging the Visual Studio IDE like Php/Javascript debugging.</p></blockquote>
<p>[Quelle: <a href="http://www.jcxsoftware.com">Jcx.Software</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2007/11/php-editor-visual-studio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP: SQL-Injection</title>
		<link>http://sqlblog.de/blog/2006/12/php-sql-injection/</link>
		<comments>http://sqlblog.de/blog/2006/12/php-sql-injection/#comments</comments>
		<pubDate>Wed, 06 Dec 2006 09:12:16 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[sql-injection]]></category>

		<guid isPermaLink="false">http://ralf-eisenreich.de/blog/index.php/2006/12/06/php-sql-injection/</guid>
		<description><![CDATA[Über die Sicherheit der Daten innerhalb einer Webanwendung sollte man sich stets Gedanken machen. übergibt man POST-Variablen ungeprüft der Anwendung...]]></description>
			<content:encoded><![CDATA[<p>Über die Sicherheit der Daten innerhalb einer Webanwendung sollte man sich stets Gedanken machen. übergibt man POST-Variablen ungeprüft der Anwendung kann die Sicherheit bereits gefährdet sein.</p>
<p>Angreifer können unter Umständen mittels SQL-Injektion Anfragen verändern oder neue erstellen.</p>
<p>Meine Schutzmaßnahme in einer PHP-Anwendung mit MySQL besteht in einer kleinen Hilfsfunktion, die alle Variablen, die in einer Anwendung verarbeitet werden für den SQL-Syntax valide terminiert:</p>
<p><code><br />
// sanitize strings for db queries<br />
function sanitize_sql($value) {<br />
if (get_magic_quotes_gpc()) {<br />
$value = stripslashes($value);<br />
}<br />
return mysql_real_escape_string($value);<br />
}<br />
</code></p>
<p>In jeder Datenbankanfrage, der Variablen übergeben werden, bereinigt diese Funktion eventuellen Schadcode mittels Terminierung:</p>
<p><code><br />
// get userID<br />
function check_user($username, $userpass) {<br />
$sql="SELECT userid<br />
FROM mars_users<br />
WHERE username='".$this-&gt;sanitize_sql($username)."' AND<br />
userpass='".$this-&gt;sanitize_sql(md5($userpass))."' LIMIT 1";<br />
$result=mysql_query($sql) or $this-&gt;errorLog($this-&gt;page, mysql_error());<br />
if (mysql_num_rows($result)==1):<br />
$resultarray=mysql_fetch_assoc($result);<br />
return $resultarray['userid'];<br />
else:<br />
return false;<br />
endif;<br />
}<br />
</code></p>
<p>In PHP selbst kann man auch Variablen mittels Regular Expressions prüfen. Eine einfache Funktion zur Überprüfung eines Strings könnte so aussehen:</p>
<p><code><br />
// sanitize string<br />
function sanitize_string($value) {<br />
$value=preg_replace("/[^\w\040\-_.!?]/","",$value);<br />
$value=trim($value);<br />
return $value;<br />
}<br />
</code></p>
<p>Dazu bietet sich noch die Validierung von Formulareingaben mittels JavaScript an, wie im Beitrag vorher erwähnt.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2006/12/php-sql-injection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PRADO PHP Framework</title>
		<link>http://sqlblog.de/blog/2006/09/prado-php-framework/</link>
		<comments>http://sqlblog.de/blog/2006/09/prado-php-framework/#comments</comments>
		<pubDate>Fri, 22 Sep 2006 06:30:59 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[prado]]></category>

		<guid isPermaLink="false">http://blog.ralf-eisenreich.de/blog/index.php/2006/09/22/prado-php-framework/</guid>
		<description><![CDATA[Ein beeindruckendes und leistungsstarkes Framework ist das PRADO PHP Framework. Es ist besonders fÃ¼r die Entwicklung groÃŸer PHP-Projekte geeignet und...]]></description>
			<content:encoded><![CDATA[<p>Ein beeindruckendes und leistungsstarkes Framework ist das <a href="http://www.pradosoft.com/">PRADO PHP Framework</a>. Es ist besonders fÃ¼r die Entwicklung groÃŸer PHP-Projekte geeignet und besitzt ein ereignisgesteuertes sowie komponentenbasiertes Konzept.</p>
<p>Hier noch ein paar Infos:</p>
<blockquote><p>
    * Open Source<br />
    * Object-oriented and highly reusable code<br />
    * Event-driven programming<br />
    * Separation of presentation and logic<br />
    * Configurable and pluggable modular architecture<br />
    * Feature-rich Web components: HTML input controls, validators, datagrid, wizard&#8230;<br />
    * Built-in support of internationalization (I18N) and localization (L10N)<br />
    * Seamless Ajax support<br />
    * Customizable and localizable error/exception handling<br />
    * Multiway message logging with filters<br />
    * Generic caching modules and selective output caching<br />
    * Extensible authentication and authorization framework<br />
    * Security measures: cross-site script (XSS) prevention, cookie protection&#8230;<br />
    * XHTML compliance<br />
    * Rich documentation and strong userbase
</p></blockquote>
<p>Quelle: [<a href="http://www.pradosoft.com/">PRADOSOFT</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2006/09/prado-php-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Patterns Pages</title>
		<link>http://sqlblog.de/blog/2006/07/php-patterns-pages/</link>
		<comments>http://sqlblog.de/blog/2006/07/php-patterns-pages/#comments</comments>
		<pubDate>Mon, 24 Jul 2006 07:17:55 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[patterns]]></category>

		<guid isPermaLink="false">http://blog.ralf-eisenreich.de/blog/index.php/2006/07/24/php-patterns-pages/</guid>
		<description><![CDATA[Neulich erst entdeckt: Es gibt einige PHP-Patterns-Seiten, die gute Informationen bereitstellen. PatternsForPHP.com IBM Developers (PHP) Also unbedingt in die Bookmarks...]]></description>
			<content:encoded><![CDATA[<p>Neulich erst entdeckt:<br />
Es gibt einige PHP-Patterns-Seiten, die gute Informationen bereitstellen.</p>
<ul>
<li><a title="Patterns for PHP" href="http://www.patternsforphp.com">PatternsForPHP.com</a></li>
<li><a title="IBM Developers (PHP)" href="http://www-128.ibm.com/developerworks/library/os-php-designptrns/">IBM Developers (PHP)</a></li>
</ul>
<p>Also unbedingt in die Bookmarks aufnehmen!</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2006/07/php-patterns-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML Forms &amp; php</title>
		<link>http://sqlblog.de/blog/2006/04/html-forms-php/</link>
		<comments>http://sqlblog.de/blog/2006/04/html-forms-php/#comments</comments>
		<pubDate>Wed, 19 Apr 2006 12:07:25 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ralf-eisenreich.de/blog/index.php/2006/04/19/html-forms-php/</guid>
		<description><![CDATA[Wie man den Status von HTML Forms mit php abfragt zeigt folgendes Beispiel: Checkbox HTML: &#60;input type="checkbox" onclick="do();" name="chkTest" /&#62;...]]></description>
			<content:encoded><![CDATA[<p>Wie man den Status von HTML Forms mit <a title="php.net" href="http://php.net">php</a> abfragt zeigt folgendes Beispiel:</p>
<p><strong>Checkbox</strong></p>
<p><em>HTML:</em></p>
<input type="checkbox" name="chkTest" />
<code><br />
&lt;input type="checkbox" onclick="do();" name="chkTest" /&gt;<br />
</code></p>
<p><em>php:</em><br />
<code><br />
// get checkbox status<br />
if (array_key_exists('chkTest', $_POST) &#038;&#038; $_POST['chkTest'] != null):<br />
$value = 1;<br />
else:<br />
$value = 0;<br />
endif;<br />
</code></p>
<p><strong>Radiobutton</strong></p>
<p><em>HTML:</em></p>
<input type="radio" value="1" name="radTest" />
<input type="radio" value="2" name="radTest" />
<input type="radio" value="3" name="radTest" />
<code><br />
&lt;input type="radio" onclick="do();" value="1" name="radTest" /&gt;<br />
&lt;input type="radio" onclick="do();" value="2" name="radTest" /&gt;<br />
&lt;input type="radio" onclick="do();" value="3" name="radTest" /&gt;<br />
</code></p>
<p><em>php:</em><br />
<code><br />
// get checkbox status<br />
if (array_key_exists('radTest', $_POST) &#038;&#038; $_POST['radTest'] != null):<br />
$value = $_POST['radTest'];<br />
endif;<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2006/04/html-forms-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

