<?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>css-schule.de &#187; php.ini</title>
	<atom:link href="http://css-schule.de/tag/php-ini/feed" rel="self" type="application/rss+xml" />
	<link>http://css-schule.de</link>
	<description>Alles für den Webmaster.</description>
	<lastBuildDate>Sat, 14 Nov 2009 20:20:07 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Die wichtigsten Sicherheitsoptionen in der php.ini</title>
		<link>http://css-schule.de/die-wichtigsten-sicherheitsoptionen-in-der-php-ini.html</link>
		<comments>http://css-schule.de/die-wichtigsten-sicherheitsoptionen-in-der-php-ini.html#comments</comments>
		<pubDate>Thu, 12 Nov 2009 19:22:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php.ini]]></category>
		<category><![CDATA[Sicherheits]]></category>

		<guid isPermaLink="false">http://css-schule.de/?p=166</guid>
		<description><![CDATA[register_global = off verchindert, dass Varablenzuweisungen in HTTP-Anfrage und Cookies globale Programmvariablen überschreiben. Diese Option zwingt Skripte dazu, von Anwenderseite übermittelte Variable über gesonderte Arrays wie $_REQUEST bewusst abzuholen. Ein Angreifer kann es dadurch nicht mehr ohne weiteres ausnutzen, falls ein Skript uninitialisierte Variablen verwendet oder leichtfertig von bestimmten globalen Vorbelegungen ausgeht.
allow_url_fopen = off sorgt [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff0000;"><strong>register_global = off </strong><span style="color: #000000;">ver</span></span>chindert, dass Varablenzuweisungen in HTTP-Anfrage und Cookies globale Programmvariablen überschreiben. Diese Option zwingt Skripte dazu, von Anwenderseite übermittelte Variable über gesonderte Arrays wie <span style="color: #ff0000;">$_REQUEST</span> bewusst abzuholen. Ein Angreifer kann es dadurch nicht mehr ohne weiteres ausnutzen, falls ein Skript uninitialisierte Variablen verwendet oder leichtfertig von bestimmten globalen Vorbelegungen ausgeht.</p>
<p><span style="color: #ff0000;"><strong>allow_url_fopen = off </strong></span>sorgt dafür, dass PHP-Skript nur lokale Dateien des Servers einbinden können. Dies ist eine besondere Hürde für viele Angriffstypen, da keine Skripte mehr direkt von externen Servern nachgeladen werden können.</p>
<p><span style="color: #ff0000;"><strong>safe-mode = on</strong></span> bewirkt unter anderem, das der PHP-Prozess Verzeichnisse  zugreifen darf, die dem Nutzer gehören, mit dessen Rechtender PHP- Prozess läuft. Auf  Linux-Servern ist dies meist www-data beziehungsweise beim Einsatz von Apache-Modulen wie <span style="color: #ff0000;">mod_suexec</span> oder suPHP der Skriptbesitzer. Außerdem sperrt der Safe-Mode in seiner Defaut-Einstellung gefärliche Funktionen wie <span style="color: #ff0000;">shell_exec()</span>, doch sein Verhalten lässt sich durch weitere Optionen steuern [1].</p>
<p><span style="color: #ff0000;"><strong>open_basedir = /pfad/zum/www-ordner</strong></span> legt ein Verzeichnis fest, außerhalb dessen PHP-Skripte keine Dateien öffnen können-ähnlich eine chroot-Umgebung. Der Zugriff auf enthaltene Unterordner ist natürlich gestattet, doch das direkte Auslesen beispielsweise von /etc/passwd und anderen vertraulichen Daten außerhalb des WWW-Root durch Path Traversal ist damit nicht mehr möglich.</p>
<p><strong><span style="color: #ff0000;">display_errors = off</span></strong> erschwert unter Umständen die Vorbereitung eines Angriffs. Für einige Attacken ist es beispielsweise nötig, dass der Dateisystempfad zur Webapplikation bekannt ist. Diese Information lässt sich unter anderem vielen PHP-Fehlermeldungen entnehmen.  Die Option verhindert, dass Angreifer gezielt Fehlermeldungen provozieren können.</p>
<p style="text-align: center;"><a href="http://www.verschenkehandy.de/handy.php?id=3510&t=194&pid=436" target="_blank"><img src="http://www.verschenkehandy.de/images/maintop_3510.jpg" width="100%" height="264" border="0"></a></p>
<p><span style="color: #ff0000;"><strong>magic_quotes_gpc = on</strong></span> escaped alle <span style="color: #ff0000;">Single-quotes (&#8216;), Double quotes (&#8216;)</span>, Backslashes (\) und NULL-Zeichen automatisch mit einem Backslash. Teilweise lassen sich damit  SQL-Injection-Angriffe verhindern, allerdings gibt es Möglichkeiten, diese Beschränkung zu umgehen. Zudem funktionieren einige Anwendungen mit dieser Option nicht.</p>
<p><span style="color: #ff0000;"><strong>disable_functions</strong></span> spezifiziert eine Liste von gesperrten PHP-Funktionen. Insbesondere PHP-Anwendungen, die unter Sicherheitsaspekten entwickelt wurden, machen einen großen Bogen um potenziell gefährliche Funktionen wie <span style="color: #ff0000;">exec()<span style="color: #ff0000;">, <span style="color: #000000;">sodass ihr Fehlen ihnen häufig keine Probleme bereitetvielen im Umlauf befindlichen Exploits aber sehr wohl.</span></span></span></p>
<p><span style="color: #ff0000;"><span style="color: #ff0000;"><span style="color: #000000;"> </span><strong>sql.safe_mode </strong></span></span><strong><span style="color: #ff0000;"> </span></strong><span style="color: #000000;">regelt eine Sonderbehandlung von Anmeldungen Datenbankservern. In diesem Modus verwenden die PHP-Funktionen zur Datenbankanmeldung ausschließlich den Namen des System-Users, dem das Skript gehört. Da in Shared-Webhosting-Umgebungen der Name des Datenbanknutzers fast nie mit dem des System-Users übereinstimmt, kommt dort diese Option nur äußerst selten in Fragen</span>.</p>
]]></content:encoded>
			<wfw:commentRss>http://css-schule.de/die-wichtigsten-sicherheitsoptionen-in-der-php-ini.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
