Hi Lothar,
- Ein readonly ist eine Interaktion zwischen GUI und User und darum gehts.
aha, dann habe ich dich die ganze Zeit missverstanden. Ich dachte, es ginge darum, das Zurückschicken veränderter Daten an deine Webapplikation zu verhindern.
Wenn also das Zurückschicken manipulierter Daten nicht das Problem ist, könntest du auf readonly oder ähnliche Maßnahmen ja auch ganz verzichten, weil es ja egal ist, wenn Daten userseitig verändert werden.
- Die Änderung der Ausgangsdaten war/ist ausgeschlossen. Der neu generierte Datensatz hingegen wird mit den Formulardaten erzeugt.
Nanu? Bisher bin ich davon ausgegangen, du wolltest dem User nur einen existierenden Datensatz mit dem "kastrierten" Formular zur Ansicht vorsetzen. Jetzt erwähnst du einen neu generierten Datensatz. .oO(?)
Dabei allerdings unterstelle ich wirklich den Usern ein hohes Maß an krimineller Energie, wie ich finde.
Nein, aber vielleicht Gedankenlosigkeit, Unaufmerksamkeit - oder aber Spieltrieb und sportlich-technischen Ehrgeiz.
Richtig, und die Einstellung ist nun einmal, dass man sich nicht auf die Ehrlichkeit seiner Mitmenschen (Kunden, Kollegen, Lieferanten) verlassen darf. Tut man es doch, wird einem das als "fahrlässig" vorgeworfen, wenn dadurch ein Sach-/Vermögens- oder gar Personenschaden entsteht.
Halte ich für einen Irrsinn und wundere mich zugleich, wie geschlossen einvernehmlich Ihr das alle seht. Liegt vielleicht wirklich daran, dass ich alle User der Software persönlich kenne.
Liegt vielleicht daran, dass du das immer nur auf deinen konkreten Einzelfall beziehst.
Ich lasse übrigens auch meine Geldbörse auf meinem Schreibtisch liegen, wenn ich mal zum Parkplatz runter muss.
Oha. Das würde ich nicht riskieren - außer ich kenne alle Leute, die vorbeikommen und in Versuchung geraten könnten, persönlich und weiß um ihre Vertrauenswürdigkeit. Ich wüsste aber außerhalb meiner Privatwohnung (oder der von persönlichen Vertrauten) keinen Ort, an dem diese Voraussetzung gegeben wäre.
Und meine Butterbrotdose ist auch jedem zugänglich. ;-)
Naja, kommt drauf an, was da Verlockendes drin ist. Banane, Leberwurstbrot, Müsliriegel, Lachsbrötchen ... ;-)
[...] und verlasse mich darauf, dass andere sich an die Gesetze halten.
Und genau das ist leichtsinnig oder fahrlässig. Irgendjemand hat's in diesem Thread schon angedeutet: Das unbefugte Eindringen in fremde Wohnungen ist auch gesetzwidrig. Lässt du also die Wohnungstür offen, weil's bequemer und einfacher ist?[*]
Ich sag ja. Das Maß ist entscheidend.
Ja, richtig. Dein Beispiel mit dem Formular sieht für mich so aus, dass die Tür offen steht und nur ein Schild daneben hängt, auf dem steht: "Kein Zutritt". Die allermeisten Menschen werden sich wohl dran halten, aber es wäre zu einfach, sich über die Beschränkung hinwegzusetzen. Vielleicht hat derjenige, der dann verstohlen trotzdem in die Wohnung schleicht, gar keine kriminellen Ambitionen, sondern will nur mal die Aussicht aus deinem Wohnzimmerfenster genießen? Oder einfach mal sehen, wie der Nachbar wohnt? Nur so aus Neugier?
Ziehe ich nur die Tür zu? Schließe ich ab? Drehe ich den Schlüssel 2 mal rum? Habe ich einen Sicherheitszylinder? Alarmanlage? Kameras? Wachdienst?
Hängt von dir und deiner Umgebung ab. Ich ziehe die Wohnungstür zumindest hinter mir zu, wenn ich nur mal schnell in den Keller, in die Garage oder an den Briefkasten gehe; wenn ich das Haus verlasse, schließe ich sogar ab.
Und es soll sogar Menschen geben, die sich in ihrer eigenen Wohnung einschließen, wenn sie zuhause sind.
Ein Datenpaket zusammenzustellen und per HTTP-POST an einen Webserver zu schicken, ist an sich noch nicht kriminell. Was jemand damit erreichen will, *kann* kriminell sein; der Vorgang an sich ist es definitiv nicht.
Wenn Du das Datenpaket auf nicht vorgesehene Weise mit dem Ziel der Datenmanipulation zusammenstellst, ist das kriminell.
Die Aussage lasse ich gelten - aber du schmeißt zwei Aspekte quasi gleichwertig zusammen:
1. Die Absicht, irgendwas zu manipulieren. Das ist IMHO der Punkt, der darüber entscheidet, ob die Tat als kriminel zu werten ist oder nicht.
2. Das gewählte Mittel. Wir reden von einer Web-Applikation, Internet oder Intranet, is' wurscht, jedenfalls HTTP. Die Schnittstelle ist also der TCP-Port 80 deines Webservers. Jenseits davon hast du keinen Einfluss (außer dass du freundlicherweise auch noch ein auf HTML basierendes GUI zur Verfügung stellst). Ob also der Nutzer seinen Request mit einem gewöhnlichen Browser absetzt, und dazu vielleicht sogar dein Formular verwendet, oder ob er nur die Daten analysiert und dann mit wget einen Request baut, oder ob er gar ein eigenes Programm schreibt, das mit deinem Datenformat harmoniert, kannst du nicht kontrollieren. Und es hat dir auch egal zu sein, solange die Daten an der Schnittstelle (also HTTP-Request und Response) deinen Vorgaben entsprechen. Daher hat es einem Mail-Provider auch egal zu sein, ob ich zum Versenden und Lesen meiner Mails Thunderbird, Outlook, Lotus Notes oder nur einen Telnet-Client verwende. Auch wenn aktuell von einem Fall die Rede ist, wo das anscheinend nicht so ist.
Der könnte nämlich sogar durch Fehlfunktionen oder Fehlkonfiguration irgendeiner Software ausgelöst werden - und dann wären wir wieder bei der Pflicht, die Plausibilität und Zulässigkeit der eintreffenden Anforderung zu überprüfen.
Nutzt ja nichts. Ich sehe das nicht als Pflicht, es wird aber dann zur Pflicht, wenn es die Allgemeinheit so sieht. So funktioniert "Gesellschaft". Im Positiven, wie im Negativen...
Du magst es negativ sehen - ich sehe es eher als die Pflicht eines (Web-)Programmierers, sein "Modul" als Blackbox, losgelöst von Eigenschaften des derzeit gewählten Umfelds, unter allen vorhersehbaren Fehlerbedingungen sicher zu machen. Mit anderen Worten: Diese Black Box darf sich nie auf Bedingungen verlassen, die nicht mit Sicherheit kontrollierbar sind.
So long,
Martin
Wichtig ist, was hinten rauskommt.
(Helmut Kohl, 16 Jahre deutsche Bundesbirne)