BigBastis Blog

BigBastis Blog

About Me & my Digital Lifestyle


Navigation
TagTutorials
Featured

.NET

ASP.NET MVC Security Teil 1: Das AntiForgeryToken nutzen

Posted byuserSebastian Gross on April 4th, 2012.

In dieser Reihe von Posts möchte ich Wege zum Absichern einer MVC Anwendung zeigen, die man gerne mal vergisst oder als Neueinsteiger nicht gleich auf dem Schirm hat. Teil 1: Nutzen des AntiForgeryToken bei POST Requests POST Requests sind gefährlich, da diese im Normalfall dafür verwendet werden dem Server Informationen mitzuteilen. Die Informationen sollte man natürlich prüfen, auf Form und Inhalt, aber noch wichtiger ist es, zu wissen wer uns diese Daten sendet. (Cross-Site-Attacken verhindern) Wie funktioniert das? Mit dem AntiForgeryToken können wir an dieser Stelle sichergehen, dass nur Formulare am Server angenommen werden, die der Server selbst erzeugt hat. Dabei erzeugt der Server beim Generieren des Formulars einen Token und speichert […]

Featured

.NET

Aktuelle Zeile bei Kommandozeilen Applikationen aktualisieren

Posted byuserSebastian Gross on Februar 9th, 2012.

Vielleicht ist euch das ja auch schon Mal passiert, ihr entwickelt eine Kommandozeilen-App und wollt die Aktuelle Zeile ändern. Ein Beispiel dafür wäre ein Fortschrittsbalken oder der beliebte Command-Line-Spinner ( bestehend aus den Zeichen /, -, \, |. Wenn diese nacheinander angezeigt werden sieht das so aus wie ein sich drehender Ast 🙂 Das Ganze kann in allen Kommandozeilenfenstern, egal ob Unix oder Windows implementiert werden. Der Schlüssel hierzu ist das Sonderzeichen \b – welches das Drücken der Backspace Taste simuliert. Ähnliche Vertreter sind \t für Tab und \n für Zeilenumbruch. Solange ihr noch keinen Zeilenumbruch abgesetzt habt könnt ihr jede Ausgabe in der aktuellen Zeile widerrufen durch das ausgeben von \b […]

Featured

.NET

ASP.NET MVC: HTML5 Elemente mit jQuery Fallback nutzen

Posted byuserSebastian Gross on Januar 25th, 2012.

Soo, nachdem ich die Überschrift mit all den hippen Begriffen vollgepackt habe die es in Sachen Web momentan so gibt möchte ich euch kurz erklären worum es in diesem Artikel gehen soll. Ihr werdet sicher mitbekommen haben, dass HTML5 auf dem Vormarsch ist und auch wenn es immer noch nicht offiziell fertig ist findet man immer häufiger den HTML5-Header <!DOCTYPE html> auf diversen Seiten. Eins der meiner Meinung nach nützlichsten Features die wir mit HTML5 erhalten sind die neuen Input-Typen. Denn bisher hatten wir keine Wahl und mussten type=“text“ benutzen! Die Eingabefelder vom Typ Text konnten natürlich alles enthalten, sind aber nicht gerade Benutzerfreundlich wenn man etwas komplexere Daten eingeben soll […]

Featured

.NET

Konsolenausgaben in einer WindowsForms Applikation

Posted byuserSebastian Gross on Januar 17th, 2012.

Manchmal will man eine WindowsForms Anwendung auch über die Konsole aufrufen und dann möchte man natürlich auch Ausgaben der Anwendung in dem Konsolenfesnter sehen. Doch leider ist das nicht so einfach, da alle Aufrufe über die Console-Klasse werden ignoriert. Doch warum ist das so? Das ist ganz einfach und liegt daran, dass das Konsolenfenster, das unser Programm startet zu einem anderem Prozess gehört, nämlich cmd.exe und somit nicht verbunden ist. Was wir also tun müssen ist, unsere Ausgabe an das Konsolenfenster zu heften, das unsere Anwendung gestartet hat. Dafür kann man die Win32-Methode AttachConsole nutzen. Diese ist sehr einfach aufgebaut und sollte vor der ersten Ausgabe an die Konsole aufgerufen werden: Definition des […]

Featured

.NET

ASP.NET MVC: Zugriff auf Dateien einschraenken

Posted byuserSebastian Gross on Januar 5th, 2012.

Oft kommt es vor dass man bestimmte Inhalte nicht der breiten Öffentlichkeit präsentieren möchte. So will man beispielsweise bestimmte Inhalte nur autorisierten Benutzern oder nur Admins zur Verfügung stellen, andere User die nicht eingeloggt sind sollen diese Inhalte nicht abrufen können. Ein weiterer Anwendungsfall wäre auch hotlinking zu verhindern. Dieses Verhalten kann man in ASP.NET MVC über verschiedene Wege erreichen. Eine beliebte Möglichkeit ist es die Dateien über einen Controller zu verteilen. Hierbei erstellt man einen Controller der eine Action hat in der die gewünschte Datei geladen und an den Browser zurückgegeben wird. Hier hat man dann die Bequemlichkeit, dass man problemlos prüfen kann ob der User eingeloggt ist und […]

Featured

Allgemein

SSL Teil 4: Serverseitige Authentifizierung mit Java

Posted byuserSebastian Gross on Dezember 13th, 2011.

Nachdem wir in den letzen Teilen mehr die Theorie durchgenommen haben, möchte ich jetzt zu dem praktischen Teil kommen und euch zeigen wie man diese Theorie in Code umsetzen kann am Beispiel Java. (.NET wird auch noch folgen) Wir wollen einfach einsteigen und implementieren erst mal nur die eine Serverseitige Authentifizierung, also muss der Server sich uns gegenüber ausweisen und wir sind in der Pflicht sein Zertifikat anzunehmen oder abzulehnen. Wie in Teil 1 erklärt benötigen wir also zunächst einen Ort wo wir die Zertifikate sichern, denen wir vertrauen. Hier können wir (da wir in Java unterwegs sind) nicht die Windows-eigenen nehmen sondern müssen die so genannten Keystores von Java […]

Featured

.NET

Eine TreeView durchsuchen und den gefundenen Pfad aufklappen

Posted byuserSebastian Gross on September 29th, 2011.

Da ich heute wieder eine Mail mit der Frage bekommen habe wie man ein Item in einer TreeView finden kann und dieses dann anzeigen kann, dachte ich ich poste es gleich hier falls es noch jemand braucht. Das Ganze funktioniert sehr einfach mit nur einer kleinen rekursiven Funktion: Hier laufen wir alle Nodes der TreeView durch bis wir auf einen Node stoßen der unserem Suchbegriff entspricht. Ab hier durchlaufen wir den ganzen Weg rückwärts und klappen alle übergeordneten Nodes auf, sodass wir unseren gesuchten Node zu Gesicht bekommen. Diese Funktion kann man auch ganz gut als Extension Method umschreiben, sodass diese bequemer aufgerufen werden kann, aber das ist dann natürlich […]

Featured

.NET

Nice2Know: Attribut-basierende Routen in ASP.NET MVC

Posted byuserSebastian Gross on September 17th, 2011.

Für Routen ist in ASP.NET MVC für gewöhnlich die Global.asax zuständig, so werden hier alle Routen definiert und gemappt. Doch wenn man viele verschiedene Routen nutzen will wird es schnell voll in der eigentlich sehr übersichtlichen Klasse. Da wäre es doch eigentlich cool wenn wir die Routen direct in unseren Controllern definieren könnten. Genau das können wir mit der Erweiterung AttributeRouting machen. Dank NuGet ist die Installation in wenigen Sekunden abgeschlossen und wir können unsere Actions mit Routing-Attributen dekorieren. Die Attribute sind hierbei sehr einfach gestaltet und bieten uns alles was wir benötigen. Nun muss man nur noch die Attribut-basierten Routen registrieren: Und fertig! Nun können wir die Seite starten […]

Featured

.NET

Nice2Know: Errorlogging mit ELMAH

Posted byuserSebastian Gross on September 17th, 2011.

Errorlogging? Ist das nicht dieses Zeugs das die ganzen Java Programmierer und Linux Fuzies nutzen werdet ihr euch jetzt denken? Stimmt, aber auch in der .NET Welt ist es sehr nützlich ein Log zu führen und hier gibt es einige Tools für uns Entwickler die für uns diese unschöne Arbeit deutlich ersparen. Das Tool dass ich euch heute vorstellen möchte ist ELMAH, was für Error Logging Modules and Handlers steht. Was kann ELMAH? Hier ein Ausschnitt von der Hompage: Logging of nearly all unhandled exceptions. A web page to remotely view the entire log of recoded exceptions. A web page to remotely view the full details of any one logged […]

Featured

Gut zu Wissen

Probleme mit Plesk Admin und MySQL

Posted byuserSebastian Gross on August 30th, 2011.

Es gibt Tage da zickt Plesk herum und man könnte verzweifeln weil plötzlich die Adminoberfläche, die gestern noch funktionierte, nun nicht mehr laden will und Plesk sich mit der Fehlermeldung verabschiedet: Error: Test connection to the database server has failed because of network problems: Failed to connect to database: Access denied for user ‚admin’@’localhost‘ (using password: YES) Lösung: Zum Glück lässt sich das Problem ganz einfach aus der Welt schaffen, dazu muss man das Admin Passwort für MySQL neu setzen. Loggt euch auf dem Server über RemoteDesktop (oder SSH) ein Öffnet die my.ini aus eurem Plesk Verzeichnis ( %plesk_dir%databases\mysql\data ) fügt den Parameter „add the parameter skip-grant-tables=1“ hinzu und speichert. […]