AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [PHP] BugReporter v0.1
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] BugReporter v0.1

Ein Thema von Florian Hämmerle · begonnen am 13. Jun 2010 · letzter Beitrag vom 14. Jun 2010
Antwort Antwort
Florian Hämmerle
(Gast)

n/a Beiträge
 
#1

AW: [PHP] BugReporter v0.1

  Alt 13. Jun 2010, 15:58
Danke für die Hinweise.

Header und Footer hab ich da bisher extra weggelassen, aber hat schon seine Berechtigung, falls man mal auf die Seite gerät ohne dass man es eigentlich will. Werd ich in den kommenden Tagen noch erledigen.
Zu den anderen Hinweisen:
  • E-Mail-Benachrichtigung: Ist sicher ein nettes Feature, aber für einen kleinen BugReporter wie ich ihn machen will glaub ich nicht nötig. Dann mach ich da glaub ich lieber ein RSS-Feed, dass Interessierte dann abonnieren können.
  • User-Handling: Ich hab mir das so vorgestellt, dass sich Mitglieder registrieren können und vom Administrator freigeschalten werden müssen. Dann können sie direkt BugReports verfassen und editieren. Löschen kann nur der Administrator (kann auch mehrere Administratoren geben). Gäste können auch BugReports verfassen, diese müssen aber noch von einem Mitglied oder Administrator freigeschalten werden (in der Zwischenzeit, also von der Erstellung bis zur Freischaltung, sind sie als 'nicht-sicher' markiert.). Um aber nicht von irgendwelchen Bots heimgesucht zu werden, wird dann auch für Gäste eine "are you human?"-Abfrage nötig werden.
  • Datum des Bug-Reports: werd ich auch noch einbauen --> date_create, date_edit, dann hat man beide Datum für die Suche.
  • Für die leichtere Handhabung des ganzen (falls es mal mehrere BugReports werden ist es sehr umständlich jeden einzeln zu löschen) werd ich dann auch ein Administrator-Kontrollzentrum bauen, in dem man eine Liste der BugReports hat, und dort schnell mehrere gleichzeitig als erledigt markieren kann oder löschen.

Danke erstmal fürs Testen,
Florian
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

AW: [PHP] BugReporter v0.1

  Alt 13. Jun 2010, 17:01
Ganz kurz und buendig: SQL-Injection. In 5 deiner 4 Datenbank-Funktionen. Das ist das kritische.
Dazu kommt: die Anwendung ist ohne technische Ueberlegung aufgebaut. Nach ein paar zusaetzlichen Features hast du 200 PHP-Dateien, wovon 10 functions_* heissen und mindestens 30 Funktionen enthalten. Wie willst du da noch den Ueberblick behalten?
Weitere Punkte: Templating-System ist nicht nur nicht vorhanden, sondern auch sehr ungeschickt geloest (wenn du die HTML-Ausgabe im PHP-Code zusammenstellst kannst du dort auch die PHP-Tags schliessen und den HTML-Code direkt hinschreiben. Datenbanktechnisch bist du voll auf SQLite fixiert. Die Verwendung eines Abstraction Layer (PDO) laesst dich da unabhaengiger sein und verringert das Risiko solcher brachialer Sicherheitsluecken (Prepared Statements).

Wenn du ernsthafte PHP-Anwendungen entwickeln willst, vergiss den Ansatz den du getroffen hast. Mach dich uebers MVC-Konzept schlau, informier dich ueber diverse MVC-Frameworks und guck mal was die fuer dich machen koennen. Mein Favorit ist immer noch Symfony 1.4 mit Doctrine. Da wird das Ganze schon etwas interessanter: Datenbank-Abstraktion, klare Trennung von Logik und View, Logik in Models gekapselt, ein Test-Framework fuer Unittests, usw.

Nimms mir nicht uebel, aber ich wuerde dir dringends raten, den Download aus dem ersten Beitrag erstmal wegzunehmen und nochmal ueber die Applikation nachdenken.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Florian Hämmerle
(Gast)

n/a Beiträge
 
#3

AW: [PHP] BugReporter v0.1

  Alt 13. Jun 2010, 17:42
Ich hab nicht vor, das Ding groß zu machen. Es ist eigentlich nur für mich gedacht. Wer es brauchen kann, kann es sich gerne ziehen und damit machen was er will. Speziell für dich: kannst es gerne runterladen, entpacken und in den Papierkorb verschieben.

Ich hab auch nie gesagt, dass der Code absolut sicher ist, oder sich an irgendwelche Styleguides hält. Was PDO anbelangt: Ich hab mich für SQLite entschieden, weil es eben sehr einfach gehalten sein soll. Es kann auch sein, dass ich an der Struktur, wie sie jetzt ist, nochmal alles ändere. Es geht mir nicht darum nen perfekten BugReporter zu basteln, sondern etwas kleines, was ich brauchen kann. Ob es jemals noch wer anderer verwendet ist mir eigentlich egal.

Und wenn ich ernsthaft PHP-Applications schreiben möchte, würde ich mich nicht in nem DELPHI-forum sondern in nem PHP-Forum melden .

Schöne Grüße,
Florian

PS: Trotzdem werd ich mir deine Hinweise (SQL Injection, Templates, etc) zu Herzen nehmen.

Geändert von Florian Hämmerle (13. Jun 2010 um 17:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

AW: [PHP] BugReporter v0.1

  Alt 14. Jun 2010, 17:12
Moin,

Ich hab auch nie gesagt, dass der Code absolut sicher ist, oder sich an irgendwelche Styleguides hält.
Styleguides sind nebensaechlich. Sie sind zwar auch wichtig, aber tun momentan nichts zur Sache. Mir ist schon klar dass du nicht gesagt hast, dass der Code sicher ist, aber wenn man Anwendungen veroeffentlicht dann sollte man vielleicht drauf achten, dass da keine solche Loecher drin sind. Hier sprechen wir nicht von einem "Och, unter bestimmten Umstaenden klappt das Loeschen nicht" sondern "Man kann wahlfrei Queries ausfuehren". Was dich rettet ist hier SQLite (dazu gleich noch mehr), weils da eine Datenbank gibt. Ansonsten koennte ich anfangen mit "DROP DATABASE <irgendwas>" oder eben manipulierten Queries um Daten auszulesen.

Was PDO anbelangt: Ich hab mich für SQLite entschieden, weil es eben sehr einfach gehalten sein soll. Es kann auch sein, dass ich an der Struktur, wie sie jetzt ist, nochmal alles ändere.
es spricht nichts gegen die Wahl von SQLite. Du kannst auch ueber PDO SQLite ansprechen - der Vorteil ist lediglich dass du ohne grosse Aenderungen auch zu anderen Datenbanken sprechen kannst. Das ist lediglich die Frage des Connection-Strings. PDO uebernimmt fuer dich die Kommunikation mit dem jeweiligen DBMS, du musst dich nur um die Daten und Queries kuemmern.

Es geht mir nicht darum nen perfekten BugReporter zu basteln, sondern etwas kleines, was ich brauchen kann. Ob es jemals noch wer anderer verwendet ist mir eigentlich egal.
Das mag durchaus sein, aber wie oben erwaehnt: wenn du Software veroeffentlichst, sollte ein Grundniveau vorhanden sein - sowohl was die Stabilitaet anbelangt als auch die Sicherheit.

Und wenn ich ernsthaft PHP-Applications schreiben möchte, würde ich mich nicht in nem DELPHI-forum sondern in nem PHP-Forum melden .
Es spricht nichts dagegen, hier Fragen zu stellen. Du waerst nicht der Erste der das macht und es gibt hier doch einige die sich im PHP-Bereich gut auskennen.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Florian Hämmerle
(Gast)

n/a Beiträge
 
#5

AW: [PHP] BugReporter v0.1

  Alt 14. Jun 2010, 20:58
Hab die Struktur mal etwas abgeändert. Ich hab jetzt sowas wie Templates (eins für den Header, eins für den Footer und welche für die verschiedenen Seiten). Darin sind ab und zu die eine oder andere PHP-Anweisung enthalten (Ein Template kann auch andere Templates einbinden). Die Daten dafür werden in nem Array übergeben und das Template bindet diese dann je nach Bedarf ein. Für sowas kleines wie das Tool möchte ich nicht auf Smarty oder ne andere Template-Engine zurückgreifen (vielleicht mach ich es trotzdem noch, aber bisher ist es noch nicht geplant). Weiters hab ich jetzt nur noch 1-2 Dateien, die die ganzen Aufgaben annehmen und je nach Parameter andere Funktionen ausführen.

Auch hab ich jetzt mal etwas in Richtung Session-Verwaltung gemacht, d.h. man muss sich nicht mehr jedes mal anmelden, wenn man etwas an den Reports ändert sondern einmaliges Anmelden reicht aus, danach wird mit der Session eine ID weitergegeben, die auf Gültigkeit überprüft wird.
Als nächstes möchte ich die DB-Abfragen mit escape_string sicherer machen.

Dann darfst du dir das ganze gerne nochmal ansehen und wieder deine Kommentare zu Sicherheit, etc. abgeben. Ich werd versuchen, sie zu beachten.
Was PDO oder SQLite angeht: Ich werd bei SQLite bleiben. Ist automatisch bei PHP bei. Ist wie mit Fremdkomponenten in Delphi. Mag ich nicht, weil man da noch zusätzliche Sachen installieren muss, die man ansonsten nicht braucht.

mfg Florian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz