Zum Inhalt springen

Logbuch auf dem Internet


Thomas H.

Empfohlene Beiträge

Hallo zusammen

 

Ich habe mir ein Logbuch auf dem Internet gebastelt. Es ist relativ einfach, mit etwas default-Einstellungen (Platz, Flugzeug, PIC) und etwas Statistik. Die erste Version ist nun mal soweit, dass man sie anschauen kann, ohne dass man ständig auf Fehler stösst. Allerdings sind noch kaum Validierungen der Eingaben gemacht und auch das escapen von schädlichen Zeichen ist nicht implementiert (bin grad am Umstellen auf "mysqli").

Ich plane, wenn noch etwas mehr Sicherheit eingebaut ist, das ganze zum einen zum download anzubieten, andererseits kann ich mir vorstellen, das interessierten auf meinem Server zur Benutzung zur Verfügung zu stellen.

Hier zum ausprobieren:

http://test.log.hb-upm.net/ user=test, PW=123456

Kommentare erwünscht!

Gruss

Thomas

 

P.S.: Einträge und Änderungen an den Settings sind natürlich gestattet ! Ich kann einfach nicht garantieren, dass später noch was so ist, wie es war ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Thomas

 

Danke für diese neue Logbuch-Variante. Ich finde es toll wenn Leute neue Ideen bringen.

Ich persönlich führe mein Logbuch parallel in einer Excel-Tabelle und würde die Internet-Variante wahrscheinlich nicht nutzen.

 

Ich habe jedoch die Seite kurz ausprobiert und finde es sieht prinzipiell schon recht gut aus. Meine konstruktive Kritik:

 

  • Die vielen Nullwerte finde ich ein bisschen verwirrend. Ich würde es besser finden wenn nur Werte >0 angezeigt werden.
  • Für die Immatriculation sollte idealerweise eine DropDown-Liste erscheinen, da man sonst schnell einen Fehler macht (Bsp.: HBCCC und HB-CCC)
  • Das gleiche gilt für den Flugzeugtyp. Wenn dieser in der hinterlegten Liste nicht existiert wird der Typ zwar akzeptiert, erscheint dann aber nicht in der Statistik (Bsp.: CTSW)

 

Also weiter so und nicht entmutigen lassen :-)

 

Gruss, Eric

Link zu diesem Kommentar
Auf anderen Seiten teilen

Christian Thomann

Hoi Thomas

 

Es macht schon mal Spass, wenn man seine ersten Schritte im PHP-mySQL-Matsch versucht. Und siehe, es läuft und keiner weiss, warum!

 

Spass beiseite! Auch ich habe mir meine Finger zusammen mit meinem Sohn schon wundgeschrieben, um nur eine kleine Arbeitsseite für die FLZ-Prüfer des BAZL zu schreiben. Leider ist diese wegen EASA-Vorschriften per 31.12.08 hinfällig.

 

Eine sehr wichtige Knacknuss, die du dir zu Herzen nehmen musst, ist die Eingabe und Berechnung der time-Funktion. Da hast du dir nicht wirklich Mühe gegeben. Stunden > 23 und Min > 59 musst du auf ihre Gültigkeit überprüfen. Ich habe es mit 55:66 versucht. Du gibst zwar nur 00:00 zurück, rechnest aber brav für einen Tag durch. Dies ohne die Benutzung der Kalenderfunktion!

 

Die Time-Funktion mit Berechnungen macht EXCEL eindeutig besser. Ich habe das Total > 100 Std. nicht versucht.

 

Nimm bitte die Editiermöglichkeit für Login und Passwort in der Testphase raus, sonst läuft da bald nichts mehr! :rolleyes:

 

Ich habe dann nicht mehr weiter ausprobiert, da man im Internet reichlich Flugbuch-Programme findet. Teilweise halt kostenpflichtig. Doch ich zahle gerne was, das hinhaut. Deines ist noch weit entfernt davon. Eine funktion für den Auszug der letzen 3, 6, 12 und 24 Monate müsstest du ja auch noch einbauen. Ebenso eine Druckmöglichkeit direkt auf den Printer oder wahlweise als PDF.

 

Was auch noch gut täte, sind Filter für ein bestimmtes Flugzeug, Flugstrecke, Abflugorte etc. Das wäre dann noch ein Tüpfelchen auf das i.

 

Beachte, dass du time-Funktionen in PHP nicht lösen kannst. Dazu musst du JavaScript einbedden.

Achte stur auf Programmierung auf PHP5-Level. Dazu gehört register_globals = off, safe_mode = on etc. dazu. Achte auch darauf, das die Übergaben von Global-Variablen, $GET- und $POST-Variablen sauber und PHP5-like gehandelt werden! Oder anders gesagt: du kannst aus $_POST['VariablenName'] eine $VariablenName erzeugen. Dann bist du den Ärger los.

EDIT: P.S. Dafür kann ich dir gerne einen Script basteln, der die über alle Seiten das Problem löst, vorausgesetzt, zu hälst einige $_POST-Regeln ein....

 

Wenn du das nicht machst, dann

Bitte verstehe meine vieleicht etwas sehr tiefgründigen Balgefinger keineswegs als böse Schelte für deinen ersten Wurf. Trotz deinem Hinweis auf noch fehlende "Validierung" sprich Plausitests steckt natürlich noch sehr viel Arbeit in einem solchen tollen Projekt. Ich respektiere solche Arbeit sehr und helfe gerne auch aus meinen entsprechenden Erfahrungen aus der Praxis.

 

PHP-Programmierung ist wahrlich oft ein Teufelsritt. Kleinigkeiten, die nicht korrekt programmiert sind, hemmen gerne mal tageweise ein Weiterkommen. Selbst weiter fingerln bringt dann halt gar nicht. Dann tut kameradschafltiche Hilfe Not. Dazu gehören auch gute PHP-Foren.

 

Ein wichtiger Grundsatz darf man aber nie übersehen oder zu umgehen versuchen:

  • Gute Ausbildung, kann auch SELF geschehen.
  • Gute Bücher, Kompendien nicht unter 700 Seiten!
  • Gute Links zu Foren und Helps.

Ich hoffe, ich hätte dir hier jetzt nicht den Garaus gemacht, sondern eher dich motiviert, gleich weiter daran zu schaufeln. Gerne helfe ich dir hier in entsprechenden Knacknüssen weiter!

 

Good Luck!

 

 

EDIT: siehe oben "Script basteln..."

Link zu diesem Kommentar
Auf anderen Seiten teilen

Christian Thomann
Hab's mir jetzt nicht angeschaut, aber was das escapen angeht:

addslashes(utf8_encode()) hat schon recht viel abgefangen, als ich mal was gemacht habe :)

 

Hoi Sirdir.

 

Wissen die Leute, was "escapen" bedeutet? :009: Voranstellen eines "\"-Zeichens vor eine Zeichenkette, um gewisse Sonderzeichen nicht als solche zu betrachten. Z.B. "\'" oder "\"", da dies in PHP dann als HTML-String übergeben werden darf.

 

Gute Idee, doch sollte magic_quotes_gpc meines Wissens standardmässig auf ON sein, was dieses Problem ja in PHP lösen sollte. Das addslashes() wirkt dann ja auf die GET- und POST-Variablen, wodurch du eine Verdoppelung des Escapens bewirkst. Oder irre ich mich da\\?

 

Ich bin mir auch nicht sicher, aber ich glaube, man kann diese Setting mit einem "get addshlashes" oder ähnlich abfragen. Beides ist aber hier schon seehr weit gegriffen, wenigstens, was Thomas' Projekt angeht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gute Idee, doch sollte magic_quotes_gpc meines Wissens standardmässig auf ON sein, was dieses Problem ja in PHP lösen sollte. Das addslashes() wirkt dann ja auf die GET- und POST-Variablen, wodurch du eine Verdoppelung des Escapens bewirkst. Oder irre ich mich da\\?

 

Ehrich gesagt, da bin ich schon überfragt: Imho stellt das Addslashes sicher, dass der String mysql-'sicher' ist, was Anfürhungszeichen etc. angeht. Was das magic_quotes_gpc macht, weiss ich gerade nicht. Schlussendlich wäre ja der Wunsch, dass das, was der User eingibt erst mal ohne Absturz in der Datenbank landet. Aber man kann da natürlich allerlei Aufwand betreiben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Christian Thomann
Ok,

Jetzt gehts bei mir auch, weiss nicht an was es lag.

Wie ich oben bemängelt hatte, kann man das Passwort ändern. Das ist halt etwas blöd, wenn jemand dies tut und es nicht rückgängig macht! :003:

Link zu diesem Kommentar
Auf anderen Seiten teilen

So, das Passwort kann nicht mehr geändert werden (es sieht nur so aus...).

Ja, ja, ich weiss, man könnte die Security und Feld-Validierung verbessern. Das ist ja auch nur der erste Wurf und war mal für mich geplant, weil ich 1. immer Fehler mache beim Zusammenzählen :009:, und 2. mal etwas php/mysql ausprobieren wollte. Mein "produktiver" Server ist mit .htaccess gesichert, da kann man weniger schnell Unfug treiben. Wollte nur mal herausfinden, ob sich der Aufwand von der Nachfrage her lohnt, das ganze Multiuser-fähig und "allgemein verfügbar" zu machen. Schliesslich bin ich kein Programmierer und hege keine kommerziellen Interessen.

Chregel hat ziemlich deutlich auf die (mir zumindest im Ansatz bewussten) Schwachstellen hingewiesen, die man in einem Projekt angeghen muss, wenn man sowas öffentlich zur Verfügung stellt.

Gruss

Thomas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Thomas

 

Du hast es zwar schon erwähnt, aber trotzdem nochmal: Du solltest auf jeden Fall noch ein Augenmerk auf die Sicherheit legen wenn du es produktiv stellst. Im Moment wird keine Validierung gemacht (weder Input noch Output) soweit ich das sehe. Das lässt natürlich jegliche Möglichkeiten für Cross-Site-Scripting usw. offen.

Du erwähnst zwar eine verbesserte Authentisierung, ich würde aber auf jeden Fall ein Output Encoding machen, damit bewusste oder unbewusste Falscheingaben nicht im Kontext deiner Site ausgeführt werden können.

 

Gruss,

Stefan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Thomas

 

Die Seite schaut gut aus. Programmieren ist doch ein tolles Hobby, und wenn das Dein erstes Projekt ist, dann Hut ab.

 

Leider werde ich sie aus grundsätzlichen Überlegungen nicht benutzen (hat nichts mit Dir oder Deiner Seite zu tun):

 

Ein Flightlog im Internet ist mir einfach zu unsicher. Es kann von heute auf morgen wieder verschwinden, weil der Betreiber z.B. plötzlich die Lust am Projekt verliert , die Hostingkosten nicht mehr bezahlen will, die Datensicherung vergeigt etc. Und dann wären alle meine mühsam erfassten Daten weg.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...