<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Kommentare zu: 25 gef&#228;hrlichste Programmierfehler</title>
	<atom:link href="http://phpperformance.de/25-gefaehrlichste-programmierfehler/feed/" rel="self" type="application/rss+xml" />
	<link>http://phpperformance.de/25-gefaehrlichste-programmierfehler/</link>
	<description>Optimierung und Tipps zur Beschleunigung von PHP und MySQL</description>
	<lastBuildDate>Tue, 01 May 2012 16:51:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>Von: Brix</title>
		<link>http://phpperformance.de/25-gefaehrlichste-programmierfehler/comment-page-1/#comment-35151</link>
		<dc:creator>Brix</dc:creator>
		<pubDate>Sun, 12 Dec 2010 16:37:59 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=355#comment-35151</guid>
		<description>Hab mich beim Durchlesen ein paar mal selbst ertappt :D
gut zu Denken gegeben...
Danke f&#252;r die &quot;&#220;bersetzung&quot; :)</description>
		<content:encoded><![CDATA[<p>Hab mich beim Durchlesen ein paar mal selbst ertappt <img src='http://phpperformance.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
gut zu Denken gegeben&#8230;<br />
Danke f&#252;r die &#034;&#220;bersetzung&#034; <img src='http://phpperformance.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: 25 Programmierfehler &#124; CodersX Webblog</title>
		<link>http://phpperformance.de/25-gefaehrlichste-programmierfehler/comment-page-1/#comment-33037</link>
		<dc:creator>25 Programmierfehler &#124; CodersX Webblog</dc:creator>
		<pubDate>Thu, 12 Aug 2010 14:43:36 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=355#comment-33037</guid>
		<description>[...] nicht &#252;ber die Liste berichten, als ich davon auf heise.de gelesen hab. Allerdings hat sich der phpperformance Blog doch einige M&#252;he gegeben, das ganze auf PHP und [...]</description>
		<content:encoded><![CDATA[<p>[...] nicht &#252;ber die Liste berichten, als ich davon auf heise.de gelesen hab. Allerdings hat sich der phpperformance Blog doch einige M&#252;he gegeben, das ganze auf PHP und [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Stefan</title>
		<link>http://phpperformance.de/25-gefaehrlichste-programmierfehler/comment-page-1/#comment-30296</link>
		<dc:creator>Stefan</dc:creator>
		<pubDate>Sat, 13 Feb 2010 17:38:56 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=355#comment-30296</guid>
		<description>Das stammt aus der Zeit, als register_globals noch aktiv war - und ist auch heute noch relevant, da es teilweise noch aktiv ist. Durch diese Einstellung werden s&#228;mtliche Parameter (get, post, cookie) direkt auf Variablen abgebildet. 
Nehmen wir als Beispiel, dass du eine Variable $admin hast, die true ist, falls ein Administrator eingeloggt ist. Du checkst also den login, falls du einen user finden kannst checkst du ob er ein Admin ist und setzt dann $admin = true;
Nehmen wir jetzt den Fall, dass kein user eingeloggt ist - dann kommst du an dem $admin = true nie vorbei, deine Applikation funktioniert aber nach wie vor, da beim Testen (also, if ($admin) // give a lot of rights) der undefinierte Wert als false gewertet wird.
Alles wunderbar.
Jetzt komme ich b&#246;ser Mensch, und rufe deine Seite mit einem zus&#228;tzlichen Get-Parameter auf: http://www.cool-site.com/Delete-All.php?admin=1
Dank register global steht damit eine Variable $admin mit Wert 1 zur Verf&#252;gung, niemand ist eingeloggt, also wird diese 1 nie ver&#228;ndert (da die Variable nicht mit false initialisiert wird) - und prompt f&#252;hre ich die Operation im Admin-Modus aus.</description>
		<content:encoded><![CDATA[<p>Das stammt aus der Zeit, als register_globals noch aktiv war &#8211; und ist auch heute noch relevant, da es teilweise noch aktiv ist. Durch diese Einstellung werden s&#228;mtliche Parameter (get, post, cookie) direkt auf Variablen abgebildet.<br />
Nehmen wir als Beispiel, dass du eine Variable $admin hast, die true ist, falls ein Administrator eingeloggt ist. Du checkst also den login, falls du einen user finden kannst checkst du ob er ein Admin ist und setzt dann $admin = true;<br />
Nehmen wir jetzt den Fall, dass kein user eingeloggt ist &#8211; dann kommst du an dem $admin = true nie vorbei, deine Applikation funktioniert aber nach wie vor, da beim Testen (also, if ($admin) // give a lot of rights) der undefinierte Wert als false gewertet wird.<br />
Alles wunderbar.<br />
Jetzt komme ich b&#246;ser Mensch, und rufe deine Seite mit einem zus&#228;tzlichen Get-Parameter auf: <a href="http://www.cool-site.com/Delete-All.php?admin=1" rel="nofollow">http://www.cool-site.com/Delete-All.php?admin=1</a><br />
Dank register global steht damit eine Variable $admin mit Wert 1 zur Verf&#252;gung, niemand ist eingeloggt, also wird diese 1 nie ver&#228;ndert (da die Variable nicht mit false initialisiert wird) &#8211; und prompt f&#252;hre ich die Operation im Admin-Modus aus.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Michael</title>
		<link>http://phpperformance.de/25-gefaehrlichste-programmierfehler/comment-page-1/#comment-30295</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Sat, 13 Feb 2010 16:12:16 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=355#comment-30295</guid>
		<description>Danke f&#252;r die hilfreiche Liste!

Warum allerdings Punkt 17 (fehlende Initialisierung von Variablen) ein Problem sein soll, verstehe ich nicht. 

Siehe dazu auch http://de.wikibooks.org/wiki/Websiteentwicklung:_PHP:_Variablen#Initialisierung</description>
		<content:encoded><![CDATA[<p>Danke f&#252;r die hilfreiche Liste!</p>
<p>Warum allerdings Punkt 17 (fehlende Initialisierung von Variablen) ein Problem sein soll, verstehe ich nicht. </p>
<p>Siehe dazu auch <a href="http://de.wikibooks.org/wiki/Websiteentwicklung:_PHP:_Variablen#Initialisierung" rel="nofollow">http://de.wikibooks.org/wiki/Websiteentwicklung:_PHP:_Variablen#Initialisierung</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Die WEB-Architektin bloggt...</title>
		<link>http://phpperformance.de/25-gefaehrlichste-programmierfehler/comment-page-1/#comment-26893</link>
		<dc:creator>Die WEB-Architektin bloggt...</dc:creator>
		<pubDate>Fri, 23 Oct 2009 12:51:47 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=355#comment-26893</guid>
		<description>&lt;strong&gt;10 Punkte f&#252;r eine sichere Website...&lt;/strong&gt;

Jochen Weiland hat im T3N-Magazin 15 eine Checkliste f&#252;r sichere Typo3-Anwendungen ver&#246;ffentlicht. Davon habe ich mich zu einer allgemeinen Checkliste f&#252;r sichere Websites inspirieren lassen (und dabei ist es egal, ob und welches CMS-, B...</description>
		<content:encoded><![CDATA[<p><strong>10 Punkte f&#252;r eine sichere Website&#8230;</strong></p>
<p>Jochen Weiland hat im T3N-Magazin 15 eine Checkliste f&uuml;r sichere Typo3-Anwendungen ver&ouml;ffentlicht. Davon habe ich mich zu einer allgemeinen Checkliste f&uuml;r sichere Websites inspirieren lassen (und dabei ist es egal, ob und welches CMS-, B&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Michael</title>
		<link>http://phpperformance.de/25-gefaehrlichste-programmierfehler/comment-page-1/#comment-17221</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Wed, 28 Jan 2009 19:39:18 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=355#comment-17221</guid>
		<description>Man sollte mal die ganzen Open Source Programme (z.B. von Sourceforge und Co.) automatisiert nach solchen Problemen durchsuchen. mich w&#252;rde mal interessieren, wie viele Programme Fehlerfrei durchkommen.</description>
		<content:encoded><![CDATA[<p>Man sollte mal die ganzen Open Source Programme (z.B. von Sourceforge und Co.) automatisiert nach solchen Problemen durchsuchen. mich w&#252;rde mal interessieren, wie viele Programme Fehlerfrei durchkommen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Jan</title>
		<link>http://phpperformance.de/25-gefaehrlichste-programmierfehler/comment-page-1/#comment-17195</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Wed, 21 Jan 2009 06:54:18 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=355#comment-17195</guid>
		<description>@workerholic: Richtig, nur welche Blogs besch&#228;ftigen sich haupts&#228;chlich mit der Sicherheit von PHP-Anwendungen und -Umgebungen? W&#228;re sch&#246;n, wenn Du da einige nennen k&#246;nntest, dann w&#252;rde mein Feedreader mal wieder etwas voller. Danke schonmal.</description>
		<content:encoded><![CDATA[<p>@workerholic: Richtig, nur welche Blogs besch&#228;ftigen sich haupts&#228;chlich mit der Sicherheit von PHP-Anwendungen und -Umgebungen? W&#228;re sch&#246;n, wenn Du da einige nennen k&#246;nntest, dann w&#252;rde mein Feedreader mal wieder etwas voller. Danke schonmal.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: workerholic</title>
		<link>http://phpperformance.de/25-gefaehrlichste-programmierfehler/comment-page-1/#comment-17194</link>
		<dc:creator>workerholic</dc:creator>
		<pubDate>Tue, 20 Jan 2009 23:48:24 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=355#comment-17194</guid>
		<description>das Buch habe ich auch im Schrank liegen, ganz ehrlich hat es nicht so viel gebracht, ich glaube wenn man genug in Blogs und auf den Seiten unterwegs ist wo entwickelt wird, ist man mehr auf dem laufenden! vielleicht eher ne kurze zusammenfassung!</description>
		<content:encoded><![CDATA[<p>das Buch habe ich auch im Schrank liegen, ganz ehrlich hat es nicht so viel gebracht, ich glaube wenn man genug in Blogs und auf den Seiten unterwegs ist wo entwickelt wird, ist man mehr auf dem laufenden! vielleicht eher ne kurze zusammenfassung!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Markus</title>
		<link>http://phpperformance.de/25-gefaehrlichste-programmierfehler/comment-page-1/#comment-17182</link>
		<dc:creator>Markus</dc:creator>
		<pubDate>Fri, 16 Jan 2009 08:12:15 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=355#comment-17182</guid>
		<description>Die Liste kannte ich bereits (heise sei dank) aber in der &#252;bersetzt l&#228;sst sie sich doch einiges besser lesen, Danke daf&#252;r!</description>
		<content:encoded><![CDATA[<p>Die Liste kannte ich bereits (heise sei dank) aber in der &#252;bersetzt l&#228;sst sie sich doch einiges besser lesen, Danke daf&#252;r!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Sören</title>
		<link>http://phpperformance.de/25-gefaehrlichste-programmierfehler/comment-page-1/#comment-17180</link>
		<dc:creator>Sören</dc:creator>
		<pubDate>Thu, 15 Jan 2009 08:51:49 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=355#comment-17180</guid>
		<description>@Stefan

weiteren Erg&#228;nzug zu 1) und deinen Erg&#228;nzungen:

Diverse $_SERVER-Variablen m&#252;ssen auch gepr&#252;ft werden. Auf jeden Fall der User-Agent und der Referer sowie nat&#252;rlich die Variablen, welche dir URL und somit GET-Variablen enthalten. Ob auch die Accept-Variablen h&#228;ngt vermutlich vom Server ab, da es gut sein kann, dass Anfragen, die nicht HTTP konform sind, von vorne herein abgelehnt bzw. mit Defaultwerten belegt werden.</description>
		<content:encoded><![CDATA[<p>@Stefan</p>
<p>weiteren Erg&#228;nzug zu 1) und deinen Erg&#228;nzungen:</p>
<p>Diverse $_SERVER-Variablen m&#252;ssen auch gepr&#252;ft werden. Auf jeden Fall der User-Agent und der Referer sowie nat&#252;rlich die Variablen, welche dir URL und somit GET-Variablen enthalten. Ob auch die Accept-Variablen h&#228;ngt vermutlich vom Server ab, da es gut sein kann, dass Anfragen, die nicht HTTP konform sind, von vorne herein abgelehnt bzw. mit Defaultwerten belegt werden.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

