<?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>root == w00t</title>
	<atom:link href="http://www.m-knappe.de/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.m-knappe.de</link>
	<description>One man&#039;s error is another mans data.</description>
	<lastBuildDate>Thu, 15 Jul 2010 17:27:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sicherheit bei Formularen</title>
		<link>http://www.m-knappe.de/index.php/2010/06/sicherheit-bei-formularen/</link>
		<comments>http://www.m-knappe.de/index.php/2010/06/sicherheit-bei-formularen/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 20:17:12 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Anmeldung]]></category>
		<category><![CDATA[Captcha]]></category>
		<category><![CDATA[CSRF Attack]]></category>
		<category><![CDATA[Form]]></category>
		<category><![CDATA[Formular]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[Kontakt]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[POST]]></category>
		<category><![CDATA[Registrierung]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Spam]]></category>
		<category><![CDATA[Token]]></category>
		<category><![CDATA[Validation]]></category>
		<category><![CDATA[Whitelisting]]></category>

		<guid isPermaLink="false">http://www.m-knappe.de/?p=280</guid>
		<description><![CDATA[<!-- Easy AdSense V2.75 -->
<!-- Post[count: 2] -->
<div class="ezAdsense adsense adsense-leadin" style="text-align:center;margin:12px; "><script type="text/javascript"><!--
google_ad_client = "pub-2664665892261245";
/* 468x60, Erstellt 16.08.09 */
google_ad_slot = "1836109369";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>




Viele User sehen bei einem Formular immer nur die Eingabe und was passiert wenn es übermittelt wurde. Was aber bei einer Übermittlung alles mitbedacht werden sollte wissen immer nur die Leute (die meisten), die das Formular gemacht haben. Selbst hab ich schon ab und an Sprüche gehört wie &#8220;und das ist alles in der Zeit?&#8221;&#8230; [...]]]></description>
			<content:encoded><![CDATA[<!-- Easy AdSense V2.75 -->
<!-- Post[count: 3] -->
<div class="ezAdsense adsense adsense-leadin" style="text-align:center;margin:12px; "><script type="text/javascript"><!--
google_ad_client = "pub-2664665892261245";
/* 468x60, Erstellt 16.08.09 */
google_ad_slot = "1836109369";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><p>Viele User sehen bei einem Formular immer nur die Eingabe und was passiert wenn es übermittelt wurde. Was aber bei einer Übermittlung alles mitbedacht werden sollte wissen immer nur die Leute (die meisten), die das Formular gemacht haben. Selbst hab ich schon ab und an Sprüche gehört wie &#8220;und das ist alles in der Zeit?&#8221;&#8230; und im Moment drauf dachte ich gleich &#8220;So wenig Hirn??? In der Zeit?!?!?&#8221;.</p>
<p>Aber zurück zum eigentlichen Thema. Es geht um die Sicherheit bei Formularen. Leute die sich damit noch nicht so beschäftigt haben lernen vielleicht was neues&#8230; und die &#8220;Das ist alles in der Zeit?&#8221; Menschen sehen was dahinter steckt. Have fun!</p>
<p>P.S.: Wer weitere Anregungen hat oder einen Fehler findet einfach einen Kommentar hinterlassen.</p>
<p><span id="more-280"></span></p>
<p><strong>Token Matching &#8211; Hast du nicht, bist du nicht!</strong><br />
Hast du, dann bist du. Wenn nicht dann verzieh dich und nerv einen anderen. Genau das passiert beim &#8220;Token Matching&#8221;. Manch einer frägt sich nun was ein Token ist, aber wie immer gleich hier die Antwort:</p>
<p>Ein Token ist ein geheimer Code, denn wir client- und serverseitig hinterlegen. Einmal im Formular (Client) und in der Session (Server). Somit existiert dieser Wert genau zwei mal.</p>
<p>Wenn nun das Formular übermittelt wird, können wir diese Werte vergleichen und sichergehen, dass diese übereinstimmen. Somit haben wir schonmal sichergestellt, dass wenn eine Übermittlung stattfindet, es sich hierbei auch um das eigene Formular handelt.</p>
<p><strong>Form Whitelisting &#8211; Will ich dich?</strong><br />
Damit wir keine ungewollten Formulardaten erhalten, verwenden wir sogenanntes Whitelisting. Dabei Filtern wir die Daten bei der Übermittlung und arbeiten nur mit Werten, die wir wirklich wollen. Zum Beispiel wenn ein String nur alphanumere Zeichen haben darf, prüfen wir diesen String mit Regular Expressions ob er wirklich nur Zeichen wie [a-zA-Z0-9] hat. Möglich ist auch auf Länge zu prüfen oder ob eine Zeichenkette wirklich so entspricht, wie sie eine sein sollte (Email *.*@*.*). </p>
<p>Es gibt aber auch noch weitere Möglichkeiten:<br />
- Numerische Werte mit is_numeric()<br />
- Wert als Integer inval()<br />
- Array mit is_array()<br />
- String mit is_string()<br />
- Wert als String strval()<br />
- Null Wert mit is_null()<br />
- Wert mit allgemein vorhanden sein isset()</p>
<p>Was auch sehr gerne passiert ist übermäßig Leerzeichen einzugeben. In diesem Fall ersetzen wir mehrere Leerzeichen mit einem Leerzeichen indem wir preg_replace() zum Einsatz bringen.</p>
<p><strong>Valid URL &#8211; Sagmal woher bist du?</strong><br />
Clientseitig prüfen wir bereits ob die URL richtig ist, jedoch sollte man das auch Serverseitig machen. Dies stellt man am besten mit folgenden an:</p>
<p>- FILTER_FLAG_SCHEME_REQUIRED (http://foo)<br />
- FILTER_FLAG_HOST_REQUIRED (http://www.foobar.com)<br />
- FILTER_FLAG_PATH_REQUIRED (www.foobar.com/foo/bar/)<br />
- FILTER_FLAG_QUERY_REQUIRED (foobar.php?foo=foo&#038;bar=bar)</p>
<p><strong>Saubere Werte &#8211; Einmal putzen bitte!</strong><br />
Sinn eines Formulares ist es mit den übermittelten Daten etwas anzustellen. Egal ob man nun ein einfaches senden als Email macht oder einen Datenbankeintrag macht, sollte man darauf achten, dass die Werte &#8220;sauber&#8221; sind.</p>
<p>Es wäre zum Beispiel möglich Javascript mitzusenden und dieses auszuführen, wenn die Email geöffnet wird.</p>
<p>Das ganze schafft man zum Beispiel mit:<br />
- htmlentities()<br />
- strip_tags()<br />
- mysql_real_escape_string()</p>
<p><strong><strong>Hack Logging &#8211; Wissen wer wie nervt.</strong><br />
</strong>Natürlich wollen wir auch die Angriffe die gegen uns laufen analysieren. Deshalb verwenden wir ein Log, wo Daten zum Angriff (z.B. IP-Adresse, Host, Art und Datum). Es besteht die Möglichkeit die Angriffe serverseitig in eine Datei zu speichern oder gleich per Email an uns senden zu lassen. Wie heisst es so schön? &#8220;Be close to your friends, but closer to your enemies.&#8221;</p>
<p>Es gibt noch ein paar weitere Möglichkeiten, worauf ich später noch genauer eingehen werde. Im Moment hab ich leider keine Lust mehr&#8230;</p>
<p><strong>Timeout &#8211; Zu langsam oder wie?</strong><br />
Coming soon!</p>
<p><strong>HTTPS &#8211; Sicher senden!</strong><br />
Coming soon!</p>
<p><strong>Ajax CSRF Angriffe</strong><br />
Coming soon!</p>
<p><strong>Captcha &#8211; Bist du blind?</strong><br />
Coming soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m-knappe.de/index.php/2010/06/sicherheit-bei-formularen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where are you? WTF?!?!</title>
		<link>http://www.m-knappe.de/index.php/2010/06/where-are-you-wtf/</link>
		<comments>http://www.m-knappe.de/index.php/2010/06/where-are-you-wtf/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 10:15:28 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.m-knappe.de/?p=287</guid>
		<description><![CDATA[Dachte ich mir auch als ich meinen neuen Job genauer bedachte. Nur Leute wie ich&#8230; prima Klima (Reimmonster!)&#8230; Als ich den Vertrag unterschrieben habe kam als erstes &#8220;Du&#8221;. Wie ich finde ist auch das Themengebiet äusserst interessant. Hier und da kann man bestimmt noch was dazu lernen, denn man kommt mit vielen Themengebieten in Kontakt [...]]]></description>
			<content:encoded><![CDATA[<p>Dachte ich mir auch als ich meinen neuen Job genauer bedachte. Nur Leute wie ich&#8230; prima Klima (Reimmonster!)&#8230; Als ich den Vertrag unterschrieben habe kam als erstes &#8220;Du&#8221;. Wie ich finde ist auch das Themengebiet äusserst interessant. Hier und da kann man bestimmt noch was dazu lernen, denn man kommt mit vielen Themengebieten in Kontakt mit denen man normal nichts zu tun hat. Vorallem brauch ich keine Angst mehr haben vor unbezahlten Überstunden bzw. Dauerarbeit alla 12h/Tag. </p>
<p>Was ich besonders vermissen werde ist das &#8220;Mach einen Knicks, gib einen Handkuss und sag hallo&#8221; getue *ACHTUNG IRONIE*. Keine Diskussionen mehr über wieviel Kaffee man trinken darf (Ich hab ungefähr 3-4 am Tag auf meiner alten Arbeit getrunken!), damit noch genug für die anderen da ist. So wie ich das bisher festgestellt habe gibt es eine Pipeline die die Mitarbeiter rund um die Uhr mit verschiedenen Sorten an Kaffee versorgt UND das VÖLLIG UMSONST!</p>
<p>Ich möchte meinem Ex-Chef hier auch mal kurz DANKEN das er mir gekündigt hat!!!</p>
<p>Anscheinend gibt es doch noch Unternehmen wo arbeiten wirklich Spass macht. Bin momentan echt überglücklich.</p>
<p>Was ich jetzt mache? Browsergames! <img src='http://www.m-knappe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.m-knappe.de/index.php/2010/06/where-are-you-wtf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-To-Dev-Not</title>
		<link>http://www.m-knappe.de/index.php/2010/04/how-to-dev-not/</link>
		<comments>http://www.m-knappe.de/index.php/2010/04/how-to-dev-not/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 20:10:34 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Injection]]></category>
		<category><![CDATA[Misconfiguration]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Sessions]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://www.m-knappe.de/?p=213</guid>
		<description><![CDATA[Ein Bekannter hat hier was nützliches ausgegraben&#8230; Stichwort: Web App Security. Einige Punkte bekommt man davon ja ab und an zu sehen. Wer sicher gehen will kann sich ja mal 10 Minuten Zeit nehmen das ganze lesen&#8230;
Link: Top Web Dev Fails
]]></description>
			<content:encoded><![CDATA[<p>Ein Bekannter hat hier was nützliches ausgegraben&#8230; Stichwort: Web App Security. Einige Punkte bekommt man davon ja ab und an zu sehen. Wer sicher gehen will kann sich ja mal 10 Minuten Zeit nehmen das ganze lesen&#8230;</p>
<p>Link: <a href="http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project">Top Web Dev Fails</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.m-knappe.de/index.php/2010/04/how-to-dev-not/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Romania iPhone bashing&#8230;</title>
		<link>http://www.m-knappe.de/index.php/2010/04/romania-iphone-bashing/</link>
		<comments>http://www.m-knappe.de/index.php/2010/04/romania-iphone-bashing/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 18:13:53 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Jailbreak]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://www.m-knappe.de/?p=205</guid>
		<description><![CDATA[Aufgepasst&#8230; iPhone bashing wird langsam zur Mode. Die Spamer von iphone-iphone.info (188.210.236.181) versuchen unversierte User eine Malware blackra1n.exe (188.210.236.109) unterzujubeln. Blos leider bekommt man statt einen Jailbreak nur Ärger&#8230;

188.210.236.250 (188-210-236-250.hotnet.ro), AS39443, HOTNET-AS SC Hot Net SRL Baia de Aries, Nr 3, Bl 5B, Sc A, Ap 39, Bucuresti, 6.

Die enthaltene Batch verändert die DNS Einstellungen&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>Aufgepasst&#8230; iPhone bashing wird langsam zur Mode. Die Spamer von iphone-iphone.info (188.210.236.181) versuchen unversierte User eine Malware blackra1n.exe (188.210.236.109) unterzujubeln. Blos leider bekommt man statt einen Jailbreak nur Ärger&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;">188.210.236.250 (188-210-236-250.hotnet.ro), AS39443, HOTNET-AS SC Hot Net SRL Baia de Aries, Nr 3, Bl 5B, Sc A, Ap 39, Bucuresti, 6.</pre></div></div>

<p>Die enthaltene Batch verändert die DNS Einstellungen&#8230; </p>
<p>Registry Eintrag:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;">HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{5D19E473-BE30-416B-B5C7-D8A091C41D2F} &quot;NameServer&quot; = 188.210.236.250</pre></div></div>

<p>Der Prozess:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;">(C:\WINDOWS\system32\NETSH.EXE: interface ip set dns &quot;Local Area Connection&quot; static 188.210.236.250) As User: () Creation Flags: (CREATE_DEFAULT_ERROR_MODE CREATE_SUSPENDED) interface ip set dns &quot;wireles network connection&quot; static 188.210.236.250) As User: () Creation Flags: (CREATE_DEFAULT_ERROR_MODE CREATE_SUSPENDED)</pre></div></div>

<p>Also aufpassen wenn ihr was in die Richtung machen wollt&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m-knappe.de/index.php/2010/04/romania-iphone-bashing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>THX for visiting my blog&#8230;</title>
		<link>http://www.m-knappe.de/index.php/2010/04/thx-for-visiting/</link>
		<comments>http://www.m-knappe.de/index.php/2010/04/thx-for-visiting/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 19:03:58 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Statistik]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.m-knappe.de/?p=220</guid>
		<description><![CDATA[Wow&#8230; trotz das ich kaum Zeit habe was zu posten&#8230; liegt leider daran das ich gerade privat ein bisschen rumprogrammier und sonstigen Krams erledigen muss&#8230; hat der Blog unglaubliche ~500 unique visits jeden Monat! Muss ich euch nur noch dazu bringen auf die Werbung zu klicken&#8230; wären immerhin 50 Euro / Monat  
]]></description>
			<content:encoded><![CDATA[<p>Wow&#8230; trotz das ich kaum Zeit habe was zu posten&#8230; liegt leider daran das ich gerade privat ein bisschen rumprogrammier und sonstigen Krams erledigen muss&#8230; hat der Blog unglaubliche ~500 unique visits jeden Monat! Muss ich euch nur noch dazu bringen auf die Werbung zu klicken&#8230; wären immerhin 50 Euro / Monat <img src='http://www.m-knappe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.m-knappe.de/index.php/2010/04/thx-for-visiting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kann man einen Unlock beim iPhone machen?</title>
		<link>http://www.m-knappe.de/index.php/2010/03/kann-man-einen-unlock-beim-iphone-machen/</link>
		<comments>http://www.m-knappe.de/index.php/2010/03/kann-man-einen-unlock-beim-iphone-machen/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 17:15:31 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Jailbreak]]></category>
		<category><![CDATA[Unlock]]></category>

		<guid isPermaLink="false">http://www.m-knappe.de/?p=208</guid>
		<description><![CDATA[Aber sicher   &#8230; Dafür geb ich euch aber keine Anleitung&#8230; weil kann durchaus vorkommen, dass wenn ihr mal ein Software Update von iTunes macht euer iPhone gelockt wird&#8230; Also wenn ihr keine Ahnung habt was ihr macht, lieber sein lassen&#8230;
Für weitere Fragen stehe ich euch gerne NICHT zur Verfügung&#8230; also lasst es mir [...]]]></description>
			<content:encoded><![CDATA[<p>Aber sicher <img src='http://www.m-knappe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8230; Dafür geb ich euch aber keine Anleitung&#8230; weil kann durchaus vorkommen, dass wenn ihr mal ein Software Update von iTunes macht euer iPhone gelockt wird&#8230; Also wenn ihr keine Ahnung habt was ihr macht, lieber sein lassen&#8230;</p>
<p>Für weitere Fragen stehe ich euch gerne NICHT zur Verfügung&#8230; also lasst es mir Mails zu schreiben&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m-knappe.de/index.php/2010/03/kann-man-einen-unlock-beim-iphone-machen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mein iPhone kann alles!</title>
		<link>http://www.m-knappe.de/index.php/2010/03/mein-iphone-kann-alles/</link>
		<comments>http://www.m-knappe.de/index.php/2010/03/mein-iphone-kann-alles/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 19:47:25 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Jailbreak]]></category>
		<category><![CDATA[redsn0w]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.m-knappe.de/?p=203</guid>
		<description><![CDATA[oder auch &#8220;Wie ich einen Jailbreak mit dem iPhone 3G 3.0 mache&#8221;.
Was brauchen wir denn alles dazu?
- MS .NET Framework 2.0
- redsn0w für euer OS
- iTunes 8.2
- iPhone OS 3.0 oder 3.0.1

1. redsn0w starten
2. iPhone mit PC verbinden
3. iPhone ausschalten
4. Browse drücken
5. Firmware 3.0 öffnen (*.ipsw)
6. Cydia auswählen Anm.: Icy ist totaler quatsch 
7. Wenn [...]]]></description>
			<content:encoded><![CDATA[<p>oder auch &#8220;Wie ich einen Jailbreak mit dem iPhone 3G 3.0 mache&#8221;.</p>
<p>Was brauchen wir denn alles dazu?<br />
- MS .NET Framework 2.0<br />
- redsn0w für euer OS<br />
- iTunes 8.2<br />
- iPhone OS 3.0 oder 3.0.1</p>
<p><span id="more-203"></span></p>
<p>1. redsn0w starten<br />
2. iPhone mit PC verbinden<br />
3. iPhone ausschalten<br />
4. Browse drücken<br />
5. Firmware 3.0 öffnen (*.ipsw)<br />
6. Cydia auswählen Anm.: Icy ist totaler quatsch <img src='http://www.m-knappe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
7. Wenn ihr es bis hier so gemacht habt wie geschrieben, einfach Next!<br />
8. DFU-Modus einschalten<br />
 8.1 2 Sek Powertaste<br />
 8.2 Powertaste weiterhin halten und 10 Sek Homebutton<br />
 8.3 Homebutton weiterhin halten &#8211; Powerbutton loslassen<br />
 8.4 Meldung kommt&#8230;<br />
9. Transmitting Data&#8230; iPhone neustart&#8230; Finish!</p>
<p>Have fun!</p>
<p>P.S.: Ich hafte nicht für eventuell Schäden am PC, iPhone oder sonstigen Dingen. Die verwendung der Anleitung geschieht auf eigene Gefahr!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m-knappe.de/index.php/2010/03/mein-iphone-kann-alles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Be with me at TornCity&#8230;</title>
		<link>http://www.m-knappe.de/index.php/2009/12/be-with-me-at-torncity/</link>
		<comments>http://www.m-knappe.de/index.php/2009/12/be-with-me-at-torncity/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 21:12:27 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Gangster]]></category>
		<category><![CDATA[Torn City]]></category>

		<guid isPermaLink="false">http://www.m-knappe.de/?p=238</guid>
		<description><![CDATA[Nach ungefähr 7800 durchgeführten Crimes meines Gangsters bei TornCity und zahlreichen Trainingseinheiten im Gym sowie Attacks auf andere habe ich es endlich geschafft Level 30 zu erreichen!  
Jetzt wird erstmal in der Ranch relaxed&#8230; aber bald wird umgezogen&#8230; mein Bankkonto hat die $1,000,000,000 überschritten&#8230; und ich kann mir eigentlich schon meine Private Insel mit [...]]]></description>
			<content:encoded><![CDATA[<p>Nach ungefähr 7800 durchgeführten Crimes meines Gangsters bei <a href="http://www.torn.com">TornCity</a> und zahlreichen Trainingseinheiten im Gym sowie Attacks auf andere habe ich es endlich geschafft Level 30 zu erreichen! <img src='http://www.m-knappe.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Jetzt wird erstmal in der Ranch relaxed&#8230; aber bald wird umgezogen&#8230; mein Bankkonto hat die $1,000,000,000 überschritten&#8230; und ich kann mir eigentlich schon meine Private Insel mit Landeplatz für mein Flugzeug kaufen&#8230; aber bisschen lass ich mein Geld sich noch vermehren. Das Personal kann ich mir zwar schon leisten&#8230; meine $600,000 täglich von der Ölplattform reichen dafür sicherlich.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m-knappe.de/index.php/2009/12/be-with-me-at-torncity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geo Adressing the easy way&#8230;</title>
		<link>http://www.m-knappe.de/index.php/2009/09/geo-adressing-the-easy-way/</link>
		<comments>http://www.m-knappe.de/index.php/2009/09/geo-adressing-the-easy-way/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 18:59:20 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Adressing]]></category>
		<category><![CDATA[Altitude]]></category>
		<category><![CDATA[Distanz]]></category>
		<category><![CDATA[Geo]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Latitude]]></category>
		<category><![CDATA[Longitude]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.m-knappe.de/?p=243</guid>
		<description><![CDATA[Vor kurzem wurde mir die Frage gestellt, ob es möglich wäre einen Standort anzugeben und danach die Personen in einem Umkreis von x automatisch auswählen zu lassen. Also mal wieder brav an den PC gesetzt und losgetippt. Vielleicht braucht jemand von euch das ganze auch mal. Hier mal der Teil 1 &#8211; Koordinaten und Datenbank [...]]]></description>
			<content:encoded><![CDATA[<p>Vor kurzem wurde mir die Frage gestellt, ob es möglich wäre einen Standort anzugeben und danach die Personen in einem Umkreis von x automatisch auswählen zu lassen. Also mal wieder brav an den PC gesetzt und losgetippt. Vielleicht braucht jemand von euch das ganze auch mal. Hier mal der <strong>Teil 1 &#8211; Koordinaten und Datenbank Update</strong>:</p>
<p><span id="more-243"></span></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;?php</span>
<span style="color: #009900;">	<span style="color: #66cc66;">//</span> your database connection - everybody knows what a config file is... i hope so ;<span style="color: #66cc66;">&#41;</span></span>
<span style="color: #009900;">	include<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'config.inc.php'</span><span style="color: #66cc66;">&#41;</span>;</span>
&nbsp;
<span style="color: #009900;">	<span style="color: #66cc66;">//</span> your google maps api key</span>
<span style="color: #009900;">	$key <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;insert_your_key_here&quot;</span>;</span>
&nbsp;
<span style="color: #009900;">	<span style="color: #66cc66;">//</span> request your addresses from the database, like the following</span>
<span style="color: #009900;">	$query <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;SELECT id, street, zip, city, country, latitude, longitude FROM addresses&quot;</span>;</span>
<span style="color: #009900;">	$result <span style="color: #66cc66;">=</span> mysql_query<span style="color: #66cc66;">&#40;</span>$query<span style="color: #66cc66;">&#41;</span> or die<span style="color: #66cc66;">&#40;</span>mysql_error<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</span>
&nbsp;
<span style="color: #009900;">	<span style="color: #66cc66;">//</span> working with the <span style="color: #000066;">data</span> from database</span>
<span style="color: #009900;">	while <span style="color: #66cc66;">&#40;</span>list<span style="color: #66cc66;">&#40;</span>$id, $street, $zip, $city, $country, $latitude, $longitude<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">=</span> mysql_fetch_row<span style="color: #66cc66;">&#40;</span>$result<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></span>
<span style="color: #009900;">		if <span style="color: #66cc66;">&#40;</span>$latitude <span style="color: #66cc66;">==</span> <span style="color: #ff0000;">'0.00000000'</span> OR $longitude <span style="color: #66cc66;">==</span> <span style="color: #ff0000;">'0.00000000'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></span>
<span style="color: #009900;">			<span style="color: #66cc66;">//</span> loop through each row, submit HTTP request, output coordinates</span>
<span style="color: #009900;">			$mapaddress <span style="color: #66cc66;">=</span> urlencode<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;$street $zip $city $country&quot;</span><span style="color: #66cc66;">&#41;</span>;</span>
&nbsp;
<span style="color: #009900;">			<span style="color: #66cc66;">//</span> desired address</span>
<span style="color: #009900;">			$url <span style="color: #66cc66;">=</span> file_get_contents<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;http://maps.google.com/maps/geo?q=$mapaddress&amp;output=xml&amp;key=$key&quot;</span><span style="color: #66cc66;">&#41;</span>;</span>
&nbsp;
<span style="color: #009900;">			<span style="color: #66cc66;">//</span> retrieve the URL contents</span>
<span style="color: #009900;">			$page <span style="color: #66cc66;">=</span> utf8_decode<span style="color: #66cc66;">&#40;</span>$url<span style="color: #66cc66;">&#41;</span>;</span>
&nbsp;
<span style="color: #009900;">			<span style="color: #66cc66;">//</span> parse the returned XML file</span>
<span style="color: #009900;">			$xml <span style="color: #66cc66;">=</span> new SimpleXMLElement<span style="color: #66cc66;">&#40;</span>$page<span style="color: #66cc66;">&#41;</span>;</span>
&nbsp;
<span style="color: #009900;">			<span style="color: #66cc66;">//</span> parse the coordinate string</span>
<span style="color: #009900;">			list<span style="color: #66cc66;">&#40;</span>$longitude, $latitude, $altitude<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">=</span> explode<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;,&quot;</span>, $xml-&gt;</span>Response-&gt;Placemark-&gt;Point-&gt;coordinates);
&nbsp;
			// input the coordinates into database
			$query = &quot;UPDATE addresses SET latitude = '$latitude', longitude = '$longitude' WHERE id = '$id'&quot;;
			mysql_query($query) or die(mysql_error());
		}     
	}
?&gt;</pre></div></div>

<p>Sorry, dass der Code nicht so toll formatiert angezeigt wird&#8230; aber mir fehlt einfach die Zeit mich darum zu kümmern, mal eine anständige Anzeige reinzubasteln&#8230; Irgendwann muss man auch mal weg von den 2 Monitoren&#8230; <img src='http://www.m-knappe.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </p>
<p><strong>Teil 2</strong> ist in Arbeit, wer das ganze mal bei Gelegenheit noch posten&#8230; dort geht es darum mit der &#8220;Haversine&#8221; Formel die Distanz zu berechnen&#8230; und das natürlich zu unserem angegebenen Ort.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m-knappe.de/index.php/2009/09/geo-adressing-the-easy-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nützliche Tools für Ext JS Development</title>
		<link>http://www.m-knappe.de/index.php/2009/08/nutzliche-tools-fur-ext-js-development/</link>
		<comments>http://www.m-knappe.de/index.php/2009/08/nutzliche-tools-fur-ext-js-development/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 17:15:25 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[JS Frameworks]]></category>
		<category><![CDATA[Basic]]></category>
		<category><![CDATA[Beautifier]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[Debugger]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Mozilla Firefox]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.m-knappe.de/?p=152</guid>
		<description><![CDATA[Hier mal eine Sammlung von Tools, die man beim programmieren mit Ext JS nicht missen sollte!
Javascript Beautifier (Link)
Nutzliches Tool um Javascript Code richtig zu formatieren&#8230;
JSLint (Link)
Sorgt für hervorragende Quality des Javascript Codes&#8230; *blub*
Microsoft Script Debugger for Windows NT 4.0 and Later (Link)
Debugger um Code zu testen und Fehler zu finden, wird von mir persönlich verwedet [...]]]></description>
			<content:encoded><![CDATA[<p>Hier mal eine Sammlung von Tools, die man beim programmieren mit Ext JS nicht missen sollte!</p>
<p><strong>Javascript Beautifier</strong> (<a href="http://jsbeautifier.org/">Link</a>)<br />
Nutzliches Tool um Javascript Code richtig zu formatieren&#8230;</p>
<p><strong>JSLint</strong> (<a href="http://www.jslint.com/">Link</a>)<br />
Sorgt für hervorragende Quality des Javascript Codes&#8230; *blub*</p>
<p><strong>Microsoft Script Debugger for Windows NT 4.0 and Later</strong> (<a href="http://www.microsoft.com/downloads/details.aspx?familyid=2f465be0-94fd-4569-b3c4-dffdf19ccd99&amp;displaylang=en">Link</a>)<br />
Debugger um Code zu testen und Fehler zu finden, wird von mir persönlich verwedet wird. Es nutzen die meisten User den normalen IE&#8230; daher schau ich mir damit alles als erstes an. Ist ja nicht jeder ein Nerd und haut sich Firefox auf den PC&#8230; <img src='http://www.m-knappe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Firebug</strong> (<a href="http://getfirebug.com/">Link</a>)<br />
Editor zum programmieren innerhalb des Browsers. Gefällt mir persönlich jetzt nicht so gut, aber in der Ext JS Community wird darauf geschwohren! <img src='http://www.m-knappe.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Hoffe ihr konntet was nützliches für euch finden! <img src='http://www.m-knappe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><!-- wp_ad_camp_1 --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.m-knappe.de/index.php/2009/08/nutzliche-tools-fur-ext-js-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
