Online IDE Flick macht “Visual Studio” mobil
Jeder, der mit Visual Studio schon gearbeitet hat, weiß wie mächtig diese IDE ist. Umso schlimmer ist es, wenn man unterwegs ist und schnell ein paar Änderungen an seinem Web-Projekt machen will. Denn nicht überall ist eine Visual Studio Version installiert!
Hier hat CodeRun angesetzt und eine komplette IDE entwickelt, die im Browser läuft. Diese hört auf den Namen Flick und orientiert sich stark an Visual Studio.
Wenn man die IDE aufgerufen hat und auf den "Neues Projekt"-Button geklickt hat wird man schnell sehen warum. Denn hier findet man viele Projektvorlagen aus dem Visual Studio und dem .NET Framework!
Bild 1: Auswahl der Projektvorlage in Flick
Wie man sieht gibt es aber nicht nur .NET Projektvorlagen, sondern auch JavaScript und PHP. Hat man sich ersteinmal für eine Vorlage entschieden wird man von einer gewohnten, wenndoch etwas abgewandelten Visual Studio Oberfläche empfangen.
Bild 2: Ein geöffnetes PHP-Projekt
Man wird bekannte Icons wiederfinden, und auch die Syntaxhervorhebung ist aus dem Visual Studio übernommen. Aber auch der Gesamtaufbau ist gleich. Rechts der Solutionexplorer, Links das Codefenster und unten die Debugging und Outputoptionen.
Auch die Kontextmenüs ähneln stark denen aus Visual Studio:
Bild 3: Ein Visual Studio Benutzer wird hier viel wiedererkennen
Wie gesagt, orientiert sich diese IDE an Webprojekten. So kann man neben PHP auch ASP.NET Websites entwickeln, momentan aber nur mit C#.
Das tolle hierbei ist, was diese IDE auch über andere stellt ist, dass diese die .NET Codevervollständigung unterstützt. So bekommt man an gewohnter Stelle das gewohnte Intellisensemenü vom Visual Studio zu sehen, sogar mit Beschreibung!
Bild 4: Ein ASP.NET Projekt wie man es gewohnt ist
Wie man in Bild 4 sehen kann werden auch hier die Oberfläche und der Code getrennt und im Solutionexplorer rechts korrekt dargestellt. Oben in dem Bild sieht man den HTML Code und unten die Codebehind-Datei.
Die ASP.NET Codehervorhebung wird auch für die CSS und HTML Elemente in einem JavaScript Projekt übernommen. Hier das Beispielprojekt JQuery:
Bild 5: Ein JavaScript Projekt
Doch die IDE bietet nicht nur den Codeeditor, sondern auch erweiterte Funktionen wie Debugginng und Deployment. Desweiteren kann man seine erstellten Dateien, wenn diese fertig sind, herunterladen oder sein eigenes Visual Studio Projekt zum Bearbeiten hochladen.
Drückt man auf dem Play-Button wird das Projekt auch kompiliert und in einem seperaten Fenster ausgeführt.
Wenn man sich registriert bekommt man dazu noch Speicherplatz, sodass man später weiter arbeiten kann und nicht alles immer herunterladen muss. Außerden stehen einem dann erweiterte Deployment Optionen zur Verfügung.
Das ganze ist wie gesagt kostenlos, egal ob registriert oder nicht, von daher lohnt sich das Ausprobieren auf jeden Fall!
Blogumzug und WordPressupdate angeschlossen
Wie vielleicht einige von euch festgestellt haben werden, gab es hier in letzter Zeit einige Probleme. Diese beruhten größtenteils auf einem PHP Update auf die Version 5.3. Leider hat mich der Webspace Anbieter, auf dem der Blog lief mich nicht informiert! (Wozu auch, bin ja nur zahlender Kunde)
Jedenfalls ist das in der Letzten Woche 2 Mal aufgetreten und somit habe ich mich entschlossen mit dem Blog auf meinen eigenen Windows Basierten Server umzuziehen!
Diese Reise war unerwartet holprig, da auf einmal viele Plugins nicht mehr funktionierten und einige native Apache Dienste wie Mod Rewrite unter IIS nicht zur Verfügung stehen!
und da ich schon alles von vorn machen musste habe ich auch gleich WordPress auf die neueste Version aktualisiert (2.8.5).
Während des Umzugs ist mir aufgefallen, dass es hier viele Themen gibt über die ich noch schreiben könnte, da ich selber viel mit Googlen beschäftigt war. Also hat es sich allein schon aus der Hinsicht gelohnt!
Aber das beste ist, dass ich nicht mehr auf die Beschränkungen meines Webspaceanbieter gebunden bin. So konnte in zb. in der Verergangeheit bestimmt Plugins nicht installieren, da diese zu viel Speicher benötigten!
An dieser Stelle noch eine kleine Bitte:
Wenn ihr irgendwas findet solltet, das nicht so funktioniert wie es eigentlich sollte, dann schreibt mir hier einen Kommentar oder schickt mir eine Mail!
VB.NET/PHP: Kurze URLs erstellen mit Tinyurl Teil 1
Sie sind sehr beliebt und es werden immer mehr! Sogenannte URL-Shorter wie Tinyurl.com, bit.ly oder wie sie alle heißen. Diese kleinen Dienste verkürzen beliebig lange URLs in kleine handliche "URLchen".
Dienste wie Twitter, bei denen es auf die Länge der Beiträge ankommt können ohne diese Dienste nicht mehr leben, weswegen Twitter sogar die Nutzung von bit.ly vorschreibt!
Bild 1: Ein ICQ 6 Chatfenster mit einer E-BAy-URL die nun einen Smiley enthält
Aber auch eigene Projekte, egal ob online oder offline können so etwas gut gebrauchen. Denn wenn man zb eine E-Bay URL weiter geben möchte ist diese nicht selten mehrere Zeilen lang und wird, je nach Programm falsch dargestellt. Plötzlich enthalten die URLs Smileys die durch Kombinationen wie "=p" oder "8)" in der URL entstehen!
Das ist sehr unangenehm, da der Link dann auch nicht mehr angeklickt werden kann und man den Fehler erst wieder ausbügeln muss. Da erspart so ein Dienst natürlich viel Zeit!
Gut für uns, dass viele der Anbieter auch eine API für ihren Dienst anbieten. So können auch wir Gebrauch davon machen und Vorgänge automatisieren.
Wenn man bei Google nach "tinyurl API" sucht wird man sehr schnell fündig und erfährt, dass man einfach nur die URL "'http://tinyurl.com/api-create.php?url=" aufrufen muss und dann seine zulange URL dahinter packen kann.
Als Ergebnis kommt dann eine gekürzte Version raus!
Wie setzen wir das nun im Code um? Wir müssen ersteinmal auf die Internetseite zugreifen, und das Ergebnis herunterladen!
Das wars auch schon! Hier ist unsere Funktion:
Public Function shortURL(ByVal langeURL As String)
Dim retVal As String = ""
'Den API-Aufruf starten:
Dim myRequest As WebRequest = WebRequest.Create _
("http://tinyurl.com/api-create.php?url=" & langeURL)
Dim myResponse As WebResponse = myRequest.GetResponse
'Den erzeugen Strom auslesen
Dim myReader As StreamReader = _
New StreamReader(myResponse.GetResponseStream)
'Stream auslesen
retVal = myReader.ReadToEnd
myReader.Close()
Return retVal
End Function
Wie man sieht wird nichts anderes gemacht, als oben beschrieben!
Naja, man muss dazu sagen, dass tinyurl.com der wohl "einfachste" Anbieter ist, da dieser einfach nur die "nackte" URL zurück gibt. Deswegen habe ich das hier auch als Beispiel gewählt!
Noch einfacher lässt sich das Ganze in PHP ausdrücken:
//PHP Code:
function TinyURL($u){
return file_get_contents('http://tinyurl.com/api-create.php?url='.$u);
}
So kann man sehr angenehm seine langen URLs kürzen und seine Besucher erfreuen
Ich habe hierzu ein kleines Beispiel in VB.NET angefertigt, das ihr bei Interesse herunterladen könnt!
Bild 2: Das Demoprogramm in Aktion
Download Hier: Download
Wenn bei euch Interesse besteht stelle ich euch auch die anderen Anbieter wie zB. bit.ly vor und fertige ein Beispiel zu deren API an. Gebt einfach per Mail oder Kommentar bescheid!
Sicherheitsrisiko PHP Session ID
In letzter Zeit treffe ich wieder vermehrt auf Internetseiten, die die Session ID in der URL übergeben. Eigentlich dachte ich dieses Konzept ist langsam ausgestorben, aber anscheinend noch nicht. In diesem Beitrag möchte ich nochmal zeigen, was passierren kann wenn man die Session ID in der URL übergibt.
Neben den Cookies ist die PHP Session ID eins der wenigen Werkzeuge, die es dem Programmierer ermöglichen festzustellen, ob ein Benutzer eingeloggt ist oder nicht. Da Cookies oftmals in den Browsern deaktiviert sind bleibt nurnoch der Griff zur Session ID. Aber warum ist das gefährlich die ID in der URL anzugeben?
Eigentlich nichts! Zumindest solange man die Internetseite nicht verlässt. Wenn man zB. in einem Forum unterwegs ist, welches die ID in der URL übergibt und dieses Forum über einen Link der in irgendeinem post verlässt sendet man an automatisch die Referrer-Seite mit. Somit weis die Seite die ihr betretet automatisch wo ihr herkommt und da die Session ID auch in der URL steckt weis die Seite auch eure Session ID. Diese wird normalerweise auch in den Seitenstatistiken gespeichert!
Das gefährliche ist daran, dass wenn jemand an diesen Referrerlink von euch kommt und diesen aufruft ist er automatisch mit eurem Benutzer in diesem Forum eingeloggt! Und die Internetseite kann auch nicht unterscheiden, wer mit der Session ID unterwegs ist, denn es können auch ubegrenzt Benutzer mit einer Session ID auf der Internetseite unterwegs sein ohne dass der "original" Benutzer was davon mitkrigt.
Wenn ihr wisesn wollt welche Informationen von euch übertragen werden könnt ihr auf diesen link klicken und mal nachschauen.
LEider wenden immernoch sehr viele Seiten dieses Modell an. Ihr könnt es selbst ausprobieren in dem ihr bei Google einfach mal nach "inurl:phpsessionid" oder "inurl:phpsid" sucht. Hier ein paar traurige Beispiele:
Wie kann man sich schützen? Ganz einfach, als Programmierer sollte man die Session ID entweder per Mod Rewrite verstecken oder ein anderes Verfahren zur Benutzeranmeldung wählen. (Zu diesem Thema werde ich demnächst auch noch schreiben)
Als Benutzer sollte man sich immer vor dem Verlassen der Seite ausloggen, denn die Session ID bleibt solange gültig bis man sie Überschreibt oder löscht. Dies kann nur durch ein Logout oder durch einen erneuten Login erfolgen. Wenn man sich ausloggt, ist es auch egal, ob man vorher auf einen Link geklickt hat, denn die ID ist dann ungültig und wenn jemand dann sogar an eure ID kommt kann er damit nichts anfangen!
Wenn ihr also ne neue Internetseite erstellt auchtet darauf was ihr der öffentlichekit präsentiert, am besten so wenig wie möglich.

