Manfred Ruzicka: Verschlüsseln einer HTML-Seite

Für eine Intranetanwendung muß ich den Quelltext einer HTML-Seite verschlüsseln, damit der Quelltext nicht mehr so einfach verändert werden kann. Die Seite wird mit PHP erzeugt und enthält sehr viele CSS Formatierungen aber kein JavaScript.

Bei http://www.drweb.de habe ich auch solch Scripts gefunden. Leider sind die in JavaScript programmiert. Für das Anzeigen ist das kein Problem. Leider werden bei mir die Seiten mit PHP erzeugt.

Die Methode mit der base64 codierung hat mir sehr gut gefallen.

http://www.drweb.de/javascript/codieren_javascript.shtml

Hier wird der Inhalt nach dem base64 verfahren verschlüsselt. Kann mit jemand sagen, wie ich die Ausgabe einer bestehender PHP Seite mit Base64 codieren kann?

MFG Manfred

  1. Hallo Manfred!

    Was soll das verschlüsseln einer Webseite bezwecken? Der Browser muss den Inhalt doch darstellen können, also musst Du den Schlüssel gleich mitliefern. Jeder halbwegs versierte Schrauber wird also den Quelltext früher oder später anzeigen können. Wer das nicht kann, wird sich sicherlich auch nicht für den Quelltext interessieren.

    Also ist Deine Mühe umsonst. Die vorgestellte Verschlüsselung muss mit JavaScript passieren, sonst kann der Clientbrowser den Quelltext nicht lesen. Wenn Du die Seite schon mittels PHP Base64 codiert an den Client lieferst muss trotzdem der Schlüssel mitgeliefert werden um dann eben nur mit JavaScript zu entcoden. Also ist dies auch wieder vergebliche Liebesmühe. Dies steht ja auch schon im unten genannten Verweis.

    Übringens. So setzt man Links. http://www.drweb.de/javascript/codieren_javascript.shtml

    Etwas irritiert mich bei Deiner Anforderung. Was nützt es einem Besucher der Seite wenn er diese für sich ändert? Bei jedem neuen Aufruf der Seite wird sowieso wieder die aktuelle vom Server geliefert. Deine Mühen sind also wirklich gelinde gesagt für die Katz.

    Schönen Gruß

    Afra

    1. Die Seite enthält Daten, die nicht so einfach verändert werden sollen, da Sie danach ausgedruckt werden.
      Es könnte jemand hergehen, und die Seite auf dem Computer speichern.
      Dadurch kann er die Seite verändern und die Datren sind ungültig.

      Es ist klar, daß es keinen 100% Schutz gibt, aber es wird das Verändern erschwert.

      Danke für die Hilfe.

      Ich habe die Lösung schon gefunden.

      ob_start();
      $output = ob_get_contents();
      ob_end_clean();

      echo base64_encode($output);

      1. hi,

        Die Seite enthält Daten, die nicht so einfach verändert werden sollen, da Sie danach ausgedruckt werden.
        Es könnte jemand hergehen, und die Seite auf dem Computer speichern.
        Dadurch kann er die Seite verändern und die Datren sind ungültig.

        na und? dann mache ich halt einen screenshot von der seite, und ersetze da kleinigkeiten, die den sinn auch vollkommen entstellen würden.

        Ich habe die Lösung schon gefunden.

        ob_start();
        $output = ob_get_contents();
        ob_end_clean();

        echo base64_encode($output);

        das alleine ist keine "lösung".
        du hast vermutlich jetzt immer noch ein javascript dabei "normal" eingebunden - und auch damit ist es keine "lösung".

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Ich habe das auf www.drweb.de gefundene Script nach dem Verschlüsseln eingefügt. Das stimmt.

          Danke für die vielen Hinweise, daß der Schutz so leicht umgangen werden kann. Aber die Methoden dafür sind komplizierter und Aufwendiger.

          Ohne Schutz bräuchte man nur die Seite auf der Festplatte speichern und mit Frontpage oder einem anderen HTML-Programm öffnen.
          (Ich konnte die Seite sogar mit Excel öffnen und bearbeiten, was noch einfacher als Frontpage war)

          Also, selbst dieser einfache Schutz würde hier einen enormen Sicherheitsvorteil bringen.

          MFG Manfred

          1. Moin!

            Also, selbst dieser einfache Schutz würde hier einen enormen Sicherheitsvorteil bringen.

            Nein, es bringt absolut keinen Sicherheitsvorteil.

            Was willst du genau verhindern? Dass jemand die HTML-Darstellung ausdruckt und vorher Veränderungen am Text macht, so dass der Ausdruck manipuliert ist.

            Wie kompliziert ist es, einen Ausdruck "herzustellen", der genauso aussieht, wie der deines HTMLs, aber "gefälscht" ist? Garnicht kompliziert!

            Wenn du das Fälschen von Ausdrucken verhindern willst, solltest du dich eher an Dingen wie den Online-Tickets der Bahn orientieren - die wollen ja auch nicht, dass jemand nur ein Ticket kauft, aber damit überall in der Republik herumfährt.

            Die Online-Tickets sind zum einen fest verknüpft mit einem Legitimationsmittel, beispielsweise einer Bahncard oder Kreditkarte, von denen anzunehmen ist, dass sie nur einmal auf der Welt existieren. Auf diese Weise ist relativ sichergestellt, dass niemand ein Ticket zweimal ausdruckt und zwei Personen im gleichen Zug, einmal vorn und einmal hinten, sich mit der gleichen Kreditkarte ausweisen.

            Zweitens gibt es für die relevanten Eckdaten des Tickets Prüfsummen, die als Buchstaben-Zahlen-Kombination mit auf dem Ticket stehen. Die Korrektheit eines Tickets wird außerdem per Live-Abfrage im Buchungscenter geprüft - es könnte ja auch vor Reisebeginn noch storniert worden sein.

            Mit all diesem Aufwand wird mutmaßlich recht wirkungsvoll verhindert, dass sich jedermann nach Belieben sein Ticket schnitzt - das Betrugspotential ist ja doch recht erheblich.

            Aus demselben Grund ist dein Versuch des Quelltextverschlüsselns aber absolut kein "Heben des Sicherheitspotentials", sondern es macht den "bösen Jungs" (die sich ja immerhin in einem Intranet befinden - was ist das eigentlich für eine Vertrauensbasis gegenüber den Mitarbeitern?) nur ein ganz klein wenig schwieriger, dennoch dasselbe Papierbedruckungsergebnis, aber mit falschen Daten, zu erreichen. Es ist vollkommen ausreichend, sich dafür einmal in Word oder HTML eine Vorlage zu basteln und in die jeweils per Copy&Paste die relevanten Daten aus der echten Intranetseite zu übertragen.

            Wenn du die Sicherheit eines Ausdrucks heben willst, sind ganz andere Methoden notwendig!

            • Sven Rautenberg
            1. Hej,

              Die Online-Tickets sind zum einen fest verknüpft mit einem Legitimationsmittel, beispielsweise einer Bahncard oder Kreditkarte, von denen anzunehmen ist, dass sie nur einmal auf der Welt existieren. Auf diese Weise ist relativ sichergestellt, dass niemand ein Ticket zweimal ausdruckt und zwei Personen im gleichen Zug, einmal vorn und einmal hinten, sich mit der gleichen Kreditkarte ausweisen.

              Zweitens gibt es für die relevanten Eckdaten des Tickets Prüfsummen, die als Buchstaben-Zahlen-Kombination mit auf dem Ticket stehen. Die Korrektheit eines Tickets wird außerdem per Live-Abfrage im Buchungscenter geprüft - es könnte ja auch vor Reisebeginn noch storniert worden sein.

              Vielleicht fehlt mir da einfach kriminelle Phantasie, aber was ich noch nie verstanden habe: Warum reicht nicht nur die Live-Abfrage? Wozu sind noch Prüfsumme (was zumindest keinen zusätzlichen Aufwand macht) und Authentifizierung der Person nötig?

              Beste Grüße
              Biesterfeld

              --
              Kommt eine Vektor zur Drogenberatungstelle: "Hilfe, ich bin linear abhängig!"
              1. Moin!

                Vielleicht fehlt mir da einfach kriminelle Phantasie, aber was ich noch nie verstanden habe: Warum reicht nicht nur die Live-Abfrage? Wozu sind noch Prüfsumme (was zumindest keinen zusätzlichen Aufwand macht) und Authentifizierung der Person nötig?

                Weil der Zugfunk nicht überall störungsfrei funktioniert? Mit der Prüfsumme kann immerhin schon mal geklärt werden, ob das Ticket vollkommen ausgedacht ist, oder ob es mutmaßlich im Original von der Bahn kommt.

                Und die Authentifizierung der Person ist notwendig, damit du das Ticket (welches als PDF heruntergeladen wird) nicht einfach zehnmal für deine Kumpels ausdruckst und für diese "Gruppenreise" nur den Einzelpreis bezahlst. Dafür ist die Verbindung von Ticket und einem Gegenstand, den man einerseits (per aufgedruckter Nummer) leicht identifizieren kann, und von dem man andererseits annimmt, dass er erstens (Bahncards haben IIRC ein Bild drauf) nur einmal existiert und nicht weitergegeben werden kann, oder zumindest (Kreditkarten ohne Bild) nicht einfach wildfremden Menschen in die Hand gegeben wird.

                Ich hab auch keine internen Informationen, was denn beim Onlineticket tatsächlich so alles geprüft wird, ich bin damit nur schon ein paar Mal durch die Gegend gefahren und werde das nächste Mal beim Selftreffen damit auftauchen.

                • Sven Rautenberg
                1. Hi Sven,

                  neuerdings gibt es zusätzlich noch einen 2D Barcode, der "mutmaßlich" das Ticket noch fälschungssicherer macht, da nicht jeder die Technik hat, soetwas zu reproduzieren.

                  Gruß, Frank

                  1. Moin!

                    neuerdings gibt es zusätzlich noch einen 2D Barcode, der "mutmaßlich" das Ticket noch fälschungssicherer macht, da nicht jeder die Technik hat, soetwas zu reproduzieren.

                    Naja, dieser 2D-Barcode kann ja auch nur Daten enthalten, die man andernfalls eben in Buchstaben- oder Zahlenform aufs Ticket hätte drucken müssen - die Inhalte dieses Codes sind genauso fälschungsunsicher, wie die Buchstaben.

                    Im Raum Berlin wird dieser Barcode gerade an Lesegeräten getestet, erzählte eine Zugbegleiterin letztens. Das spart dem Personal effektiv das doch recht zeitaufwendige Eintippen des Codes, zumal die Tastatur der bisherigen Geräte darauf nicht optimiert ist: Unten ist eine ABC-Tastatur, oben eine numerische.

                    Natürlich kann man weitere, auch längere, Sicherheitscodes in den Barcode packen, und die bisherigen Klartextcodes bei Störungen immer noch als Fallback benutzen.

                    • Sven Rautenberg
                2. Hej,

                  Weil der Zugfunk nicht überall störungsfrei funktioniert? Mit der Prüfsumme kann immerhin schon mal geklärt werden, ob das Ticket vollkommen ausgedacht ist, oder ob es mutmaßlich im Original von der Bahn kommt.

                  Sobald der Zugfunk ausgefallen ist, gibt es also keine sichere Authentifizierung mehr.

                  Und die Authentifizierung der Person ist notwendig, damit du das Ticket (welches als PDF heruntergeladen wird) nicht einfach zehnmal für deine Kumpels ausdruckst und für diese "Gruppenreise" nur den Einzelpreis bezahlst.

                  Das hatte ich mir auch schon überlegt, aber: Ein gewöhnliches Zugticket kann ich doch genauso während der Fahrt weitergeben (jeder kennt den Witz, der von den Physikern und Mathematikern die zu einem Kongress fahren erzählt). Gut dieses hat einen Zeitstempel. Der kann aber auch digital im Gerät des Schaffners zusammen mit der Ticketnummer erfasst werden. Aber wahrscheinlich erspart sich die Bahn genau das damit.

                  Dafür ist die Verbindung von Ticket und einem Gegenstand, den man einerseits (per aufgedruckter Nummer) leicht identifizieren kann, und von dem man andererseits annimmt, dass er erstens (Bahncards haben IIRC ein Bild drauf) nur einmal existiert und nicht weitergegeben werden kann, oder zumindest (Kreditkarten ohne Bild) nicht einfach wildfremden Menschen in die Hand gegeben wird.

                  Wenn ich mich schon eines (versuchten) Betruges mit nem Kumpel strafbar mache, habe ich auch keine Hemmung, mir mit ihm für die Dauer der Zugreise eine Kreditkarte zu teilen.

                  Naja, es war nur grundsätzlich ein Problem, über das ich mir schon öfter Gedanken gemacht habe (sowas soll ja die Logik schärfen). Aber festhalten lässt sich doch, dass es einen sicheren Schutz auch hier nicht geben kann (Funk ausgefallen, Prüfsummenverfahren bekannt, Kreditkarte weitergereicht).

                  Egal sind ja nur theoretische Überlegungen. Dank dir für die Aufklärung.

                  Beste Grüße
                  Biesterfeld

                  --
                  Warum geht die e-Funktion nur ungern auf Parties?
                  - Weil sie sich so schlecht integrieren kann.
                  1. Moin!

                    Sobald der Zugfunk ausgefallen ist, gibt es also keine sichere Authentifizierung mehr.

                    Es gibt zumindest keine Möglichkeit, eine zeitgenaue Gültigkeitsprüfung durchzuführen.

                    Da viele Zugverbindungen nur mit Umsteigen erreichbar sind, ist es ja häufig so, dass das Ticket von mehr als einem Zugbegleiter geprüft wird. Dass der Funk mehrfach ausfällt bzw. gestört ist, ist noch unwahrscheinlicher.

                    Das hatte ich mir auch schon überlegt, aber: Ein gewöhnliches Zugticket kann ich doch genauso während der Fahrt weitergeben (jeder kennt den Witz, der von den Physikern und Mathematikern die zu einem Kongress fahren erzählt). Gut dieses hat einen Zeitstempel. Der kann aber auch digital im Gerät des Schaffners zusammen mit der Ticketnummer erfasst werden. Aber wahrscheinlich erspart sich die Bahn genau das damit.

                    Unter normalen Umständen wird bei jeder im Zug anwesenden Person während eines Kontrollgangs das zugehörige Ticket festgestellt und per Zangenabdruck gestempelt. Eine Zweitverwendung eines Tickets würde insofern auffallen, als es ja bereits den Zugstempel der ersten Prüfung tragen würde. Für normale Tickets ist also aus diesen Gründen eine Zweitverwendung schwieriger. Außerdem sind die Zugbegleiter ja nicht ganz doof und können sich schon recht gut merken, ob ein Fahrgast schon so lange im Zug sitzt, dass er von der vorherigen Mannschaft schon einen Stempel haben könnte, oder nicht (abgesehen von seinen Reisedaten auf dem Ticket).

                    Der Witz mit den Physikern und Mathematikern drehte sich, IIRC, um den Aufenthalt in einer Toilette - insofern wäre es kein wirkliches Weitergeben.

                    Wenn ich mich schon eines (versuchten) Betruges mit nem Kumpel strafbar mache, habe ich auch keine Hemmung, mir mit ihm für die Dauer der Zugreise eine Kreditkarte zu teilen.

                    Richtig, sofern die Kreditkarte kein eigenes Foto enthält - was ja von immer mehr Gesellschaften zur Erhöhung der Zahlungssicherheit angeboten wird. Die Bahncard hat ein Foto.

                    Trotzdem Kreditkarten als Personenbeleg zuzulassen kann deshalb nur den einen Grund haben, die Online-Kartenbestellung für einen größeren Personenkreis zu öffnen und dadurch höhere Einsparungen bzw. Gewinne zu haben, als durch mögliche Betrugsszenarien an Verlusten entsteht.

                    • Sven Rautenberg
                    1. hi,

                      Außerdem sind die Zugbegleiter ja nicht ganz doof und können sich schon recht gut merken, ob ein Fahrgast schon so lange im Zug sitzt, dass er von der vorherigen Mannschaft schon einen Stempel haben könnte, oder nicht

                      wie "merkt" sich denn der erst ab station xy eingesetzte zugbegleiter, dass der fahrgast schon _vorher_ im zug saß ...?

                      Trotzdem Kreditkarten als Personenbeleg zuzulassen kann deshalb nur den einen Grund haben, die Online-Kartenbestellung für einen größeren Personenkreis zu öffnen und dadurch höhere Einsparungen bzw. Gewinne zu haben, als durch mögliche Betrugsszenarien an Verlusten entsteht.

                      manchmal will der zugbegleiter auch noch den personalausweis sehen - die online-tickets selber sind ja m.W. auch immer personalisiert.

                      gruß,
                      wahsaga

                      --
                      /voodoo.css:
                      #GeorgeWBush { position:absolute; bottom:-6ft; }
                      1. Hi,

                        wie "merkt" sich denn der erst ab station xy eingesetzte zugbegleiter, dass der fahrgast schon _vorher_ im zug saß ...?

                        Bei "normalen" Fahrten wahrscheinlich so: Fahrgast hat Ticket von Köln nach München gelöst, ich bin in Mannheim dazugestiegen, also saß er schon vorher drin. Könnte natürlich auch einen anderen Zug genommen haben und in Mannheim umgestiegen sein (oft gibt es Verbindungen von K nach M nur mit Umsteigen in MA), dann müsste dort aber auch schon abgestempelt sein.
                        Problematisch wird es da allerdings beim Surf & Rail, wo ich ja einen fixen Preis für eine fixe Verbindung zahle, aber nicht unbedingt in Duisburg schon einsteige, wenn ich von Köln nach München will. Wenn der Zugbegleiter dann erst in Köln einsteigt, muss das Ticket nicht schon abgestempelt sein.

                        Übrigens ist das Abstempeln zur Kontrolle auch der Grund, warum man das OT ausdrucken muss und nicht am Laptop-Bildschirm vorzeigen kann.

                        Der Yeti

                        --
                        Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
                        Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
                        Und bin so klug als wie zuvor!
                        sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
                        [Link:http://community.de.selfhtml.org/fanprojekte/selfcode.htm]
                        1. hi,

                          Übrigens ist das Abstempeln zur Kontrolle auch der Grund, warum man das OT ausdrucken muss und nicht am Laptop-Bildschirm vorzeigen kann.

                          mit 'ner größeren zange sicher auch kein problem für die bahn - aber das willst _du_ vermutlich lieber nicht.

                          gruß,
                          wahsaga

                          --
                          /voodoo.css:
                          #GeorgeWBush { position:absolute; bottom:-6ft; }
                          1. Hi,

                            mit 'ner größeren zange sicher auch kein problem für die bahn - aber das willst _du_ vermutlich lieber nicht.

                            Nein, in der Tat. Das wäre dann eine ziemlich teure Bahnfahrt ...

                            Der Yeti

                            --
                            Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
                            Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
                            Und bin so klug als wie zuvor!
                            sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
                            [Link:http://community.de.selfhtml.org/fanprojekte/selfcode.htm]
                  2. Moin,

                    Sobald der Zugfunk ausgefallen ist, gibt es also keine sichere Authentifizierung mehr.

                    Sichere Authentifizierung gibt es immer, lediglich die Widerrufsliste ist evt. nicht ganz auf dem neuesten Stand. Hat jemand Details? Ich gehe eigentlich nicht von einer direkten Onlineprüfung aus (dafür sind die Kästen die sie mit sich rumtragen tendentiell nicht ausgestattet, zumal es die schon vor dem Onlineticket gab), sondern eher davon, dass regelmäßig eine Liste mit widerrufenen Tickets die für den jeweiligen Zug relevant sein könnten runtergeladen wird.

                    Hab grad nochmal nachgesehen: Die Stornierung ist eh nur bis vor dem ersten Geltugstag möglich ist, also reicht es ja, die Liste jeden Morgen zu verteilen. (Dann ist sie also doch auf dem neuesten Stand.)

                    Naja, es war nur grundsätzlich ein Problem, über das ich mir schon öfter Gedanken gemacht habe (sowas soll ja die Logik schärfen). Aber festhalten lässt sich doch, dass es einen sicheren Schutz auch hier nicht geben kann (Funk ausgefallen, Prüfsummenverfahren bekannt, Kreditkarte weitergereicht).

                    Nein, das ist der Witz (der übrigens auch für den Ursprungsautor des Threads relevant ist): Man nimmt nicht einfach nur eine Prüfsumme, sondern man bildet eine digitale Signatur (notfalls nimmt man einen HMAC als Arme-Leute-Signatur). Man kodiert Ticketnummer, Gültigkeit und ggbf. anderen Firlefanz zusammen und haut dann eine Unterschrift drunter die mit einem Schlüssel der Bahn gemacht wird. Da die Geräte der Zugbegleiter den Schlüssel kennen und ihm vertrauen, können sie auch ohne weiteres an die Echtheit des Tickets glauben.

                    Der einzige Schwachpunkt ist dann nur noch die Mehrfachverwendung eines Tickets, sprich ich kaufe mir je ein Ticket von A nach B und von B nach A, drucke mehrere Kopien aus und fahre dann hin und her bis mir schwindlig wird. (Die Variante dass ich Kopien an meine Freunde verteile, ist da mit eingechlossen. Die Ausweis-ID hilft natürlich nicht dagegen und ist vermutlich auch mehr zur Beruhigung der Kunden und ggbf. der Rechtsanwälte. Der Bahn kann es reichlich egal sein wer das Ticket benutzt solange es irgendjemand bezahlt.)

                    Um dagegen gefeit zu sein, muss man dann schon die Nummern gebrauchter Tickets speichern. Erstmal nur im Zug im Gerät des Zugbegleiters (da fällt die Gruppenfahrt flach), aber dann muss man die Liste auch noch auf die anderen Züge übertragen. Hier könnte evt. ein Zeitfenster für Missbrauch entstehen (wenn ich nichts übersehen habe), aber das löst man dann auch recht einfach: Wenn ein Ticket mehrfach benutzt wird, rechnet man es kurzerhand mehrfach ab, man hat ja die Liste der Zugbegleiter. Hier kommt wieder die erwähnte Beruhigung der Rechtsanwälte durch die Ausweis-ID in's Spiel: Selbst wenn mir jemand das Ticket beim Runterladen/auf dem PC/etc. klaut, braucht er noch den passenden Ausweis. Wenn jemand mit dem passenden Ausweis mein Ticket mehrfach benutzt, sollte man davon ausgehen können, dass ich das war, und man es mir daher auch mehrfach berechnen darf.

                    --
                    Henryk Plötz
                    Grüße aus Berlin
                    ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
                    ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
      2. Hallo Manfred Ruzicka,

        Die Seite enthält Daten, die nicht so einfach verändert werden sollen, da Sie danach ausgedruckt werden.

        schon mal an PDF gedacht?

        Es könnte jemand hergehen, und die Seite auf dem Computer speichern.
        Dadurch kann er die Seite verändern und die Datren sind ungültig.

        Es ist klar, daß es keinen 100% Schutz gibt, aber es wird das Verändern erschwert.

        Hier wurde schon öfter über verschlüsselte Seiten diskutiert. Eine dabei vorgestellter "narrensicherer Methode" wurde in weniger als 5 Minuten geknackt.

        Gruß, Jürgen

  2. Hi,

    ob die Seiten mit PHP erzeugt werden oder nicht, spielt doch gar keine Rolle. Naja, vielleicht noch bei der Verschlüsselung aber auf keinen Fall bei der Entschlüsselung... Javascript läuft auf dem Client, PHP auf dem Server. Der Browser bekommt davon nichts mit, er bekommt, was Du mit PHP erzeugst, klar?

    Nehmen wir mal an, die verschlüsselst eine Seite in PHP über Base64.
    Wie willst Du die Seiten dann wieder entschlüsseln? Das geht natürlich nicht mit PHP, weil sie dann bereits unverschlüsselt an den Browser geschickt würde... Du mußt also mit Javascript wieder entschlüsseln. Also ich halte von diesem ganzen Vorhaben überhaupt nichts...

    MfG
    Danny

  3. Hej,

    Hier wird der Inhalt nach dem base64 verfahren verschlüsselt.

    Was noch viel besser ist: Verschlüssel doch nach dem png-Mechanismus (öfter auch fälschlicherweise Screenshot-Mechanismus genannt).

    Das hat imho _nur_ Vorteile:

    Du musst dir keine Sorgen um Clientseitige Extravaganzen, wie css-Unterstützung oder Bildschirmauflösung machen.

    Der Quelltext liegt nur bei dir auf der Platte und ist nicht eindeutig aus *.png zurückübersetzbar.

    Die Seite kann sogar nicht nur mit dem Browser, sonder auch mit jedem anderen grafikfähigen Programm betrachtet werden.

    Beachte bitte bei dieser Technik zwei Punkte:

    Verzichte nach Möglichkeit auf alpha-Transparenz, damit auch der IE damit klar kommt.

    Du solltest deine Seite dennoch in <html> oder wenigstens <img /> einbinden, damit du für diejenigen, die einen Screenreader verwenden ein alt="" spendieren kannst.

    Beste Grüße
    Biesterfeld

    --
    Wieviele heterosexuelle Kölner braucht man um eine Glühbirne auszuwechseln?
    - Beide!
    1. Hallo!

      Deine Methode ist interesiert mich.
      Wie funktioniert diese Methode?

      MFG Manfred

      1. Hej,

        Deine Methode ist interesiert mich.
        Wie funktioniert diese Methode?

        Das hängt etwas von deinem System ab, bei mir wäre das derzeit unter Windows xp / Firefox 1.0
        * Lade die Seite im FF
        * F11
        * Ctrl + PrinstScreen
        * Starte ein Grafik Programm (MS Paint reicht)
        * Ctrl + Insert
        * Ctrl + S
        * Gebe einen Dateinamen an, z.B. "meineSeite.png"
        * Öffne einen Editor (Notpad tut)
        * Füge folgenden Code ein,

          
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"  
                "http://www.w3.org/TR/html4/strict.dtd">  
          <html>  
            <head>  
              <!-- Sie könne diese Quelltext zwar direkt von hier stehlen, aber  
                machen sie sich klar, dass dieser in genau dieser Form bereits  
                unter http://de.selfhtml.org/html/grafiken/einbinden.htm  
                publiziert ist.-->  
              <title>Meine Seite</title>  
            </head>  
            <body>  
              <p>  
                <img src="meineSeite.png"  
                     alt="Der Inhalt dieser Seite befasst sich ...">  
              </p>  
            </body>  
          </html>  
        
        

        * Ctrl + S
        * Gebe einen Dateinamen an, z.B. "meineSeite.html"
        * Nun musst du die seite nur noch auf einem Server verfügbar machen.

        Beste Grüße
        Biesterfeld

        --
        Im Vatikan gibt es zwei Päpste pro Quadratkilometer!
      2. Hi!

        Deine Methode ist interesiert mich.
        Wie funktioniert diese Methode?

        Mach einen Screenshot von der Seite und stell diesen ins Intranet. so kann dieser zumindest nur mit einer Bildebearbeitungssoftware geändert werden.

        Dir scheint es ja mittlerweile klar zu sein, dass es KEINE Möglichkeit gibt, Manipulationen zu verhindern - die Frage ist dementsprechend nur, ob sich der Aufwand lohnt (für dich: bei jeder Änderung Screenshot machen und hochladen - für den manipulierenden Mitarbeiter - Screenshot öffnen und bearbeiten).

        Gruß

        MArtin

      3. Moin!

        Deine Methode ist interesiert mich.
        Wie funktioniert diese Methode?

        [ ] du merkst, dass man dich hinters Licht führt, und hast einen Detektor für Ironie
        [x] du merkst es nicht und hast keinen Detektor für Ironie.

        Abgesehen davon: Wenn du die gesamte zu druckende Seite dem bösen Manipulierer als PNG-Grafik lieferst, schmeist der eben nicht seinen Texteditor an und ändert das HTML, sondern er schmeißt sein Grafikprogramm an und ändert die Pixel.

        Selbst wenn es eine "PNG-Verschlüsselung" also geben würde, wäre sie schwachsinnig.

        • Sven Rautenberg
      4. Hi,
        ich würde ganz gerne noch auf Senti antworten, aber der Doppelpostingthread ist leider schon zu, daher hier (weil's so viel Spaß macht):

        "Das hat aber nichts mit PHP oder Verschlüsselung zu tun."
        Rrrrrrrrröööööööchtööööööööööch!

        "Und es hat sehrwohl ein paar Nachteile.

        • Bandbreite (nicht jeder hat DSL)
        • Man kann die Texte nicht markieren, durchsuchen, kopieren.. etc.
        • Suchmaschinen werden sich auch freuen"

        Punkt 2 und 3 sind beabsichtigt ("it's not a bug, it's a feature").
        Bei Punkt 1 bin ich mir sogar ziemlich sicher, dass man mit einer entsprechenden Optimierung einiges herausholen kann, was ansonsten durch unnütz überladenen Quellcode belegt würde. Gerade auch eingebundene Bilder kann man mit PNG m.E. viel effektiver komprimieren.

        Der Yeti

        --
        Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
        Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
        Und bin so klug als wie zuvor!
        sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
        [Link:http://community.de.selfhtml.org/fanprojekte/selfcode.htm]
        1. Hi,

          "Und es hat sehrwohl ein paar Nachteile.

          • Bandbreite (nicht jeder hat DSL)

          Ähm, beachte: Intranet! Und Du muß auch nur zwischen den Zeilen lesen.

          Angesichts der Frage-/Problemstellung ist es z.B. mit an Sicherheit grenzender Wahrscheinlichkeit nach eine Firma mit SAP im Produktiveinsatz (merke: nur SAPler haben *solche* Probleme, die sie mit *solchen* Mitteln "lösen"), woraus wiederum folgt, daß ohnehin hinreichend Bandbreite der massivsten Form vorhanden sein *muß*!

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          1. Moin!

            woraus wiederum folgt, daß ohnehin hinreichend Bandbreite der massivsten Form vorhanden sein *muß*!

            "Bandbreite der massivsten Form"... was soll ich mir darunter vorstellen? Einen Güterzug mit hundert Containern voll gebrannter CDs? Das ist sicherlich eine enorme Bandbreite, spricht "Datenübertragungskapazität" - sogar "pro Zeit" - und es ist ganz sicher auch seeeehr massiv. :)

            • Sven Rautenberg
            1. Hi,

              Einen Güterzug mit hundert Containern voll gebrannter CDs? Das ist sicherlich eine enorme Bandbreite,

              Eher eine enorme Brandbreite oder Brandmenge! Wenn es sich um WinXP-Raubkopien handelt, nennt man so etwas auch "Winbrand" - mit nachgedruckten Handbüchern & gefälschten Hologrammen auch "hochprozentigen Winbrand".

              spricht "Datenübertragungskapazität" - sogar "pro Zeit" - und es ist ganz sicher auch seeeehr massiv. :)

              Aber wir haben es ja hier über "online" (und nicht "onrail"). Deswegen:

              "Bandbreite der massivsten Form"... was soll ich mir darunter vorstellen?

              Glasfaserkabel dick wie Bullenklöten!

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  4. Hi,

    Wie das funktioniert hat Dir ja Sven Rautenberg schon erklärt (Das "no print flag" von PDF ist übrigens auch leicht umgangen, aber das nur mal am Rande), ich versuche mich mal darin, Dir klarzumachen wo Dein Denkfehler liegt: nämlich schon im erstem Satz.

    Für eine Intranetanwendung muß ich den Quelltext einer HTML-Seite verschlüsseln, damit der Quelltext nicht mehr so einfach verändert werden kann.

    Hier zäumst Du von hinten auf. Dein Problem ist _nicht_ die Frage wie Du die Seite verschlüsselst sondern eine Möglichkeit zu finden Dokumentveränderungen festzustellen. Du wirst dann rasch feststellen, das es schon im analogem Bereich schwierig ist (Urkundenfälschung; "Blüten", also nachgedruckte Banknoten usw) und im digitalem Bereich wird's auch nicht gerade einfacher.
    Wesentlicher Knackpunkt dabei ist, das es keine absolute Sicherheit gibt, sondern nur relative: irgendwann mußt Du einfach etwas oder jemandem vertrauen. Sehr gut, wenn auch nicht ideal ist es, wenn der jemand Du selber bist.

    So, und von der nun korrigierten Problemstellung ausgegangen stellen sich noch ein paar Detailfragen:
    Wie stabil soll der Veränderungsflag sein?
    "Stabil" meint im Falle digitaler Dokumente: ob er auch nach Formatänderung (HTML->Excel, HTML->Papier usw) noch  bestehen bleibt. Sven hatte ja schon vermutet, das Du es vermeiden möchtest, das zwischen Server und Drucker etwas am Dokument geändert wird. Da Du wahrscheinlich keine Möglichkeit hast, die Netzwerkarchitektur grundsätzlich zu ändern wird es nicht einfach.

    Es wurde ja schon die Idee einer Prüfsumme angesprochen. Die gibt es auch kryptographisch hart (RMD160, SHA usw) scheint also ideal. Es ergibt sich nur ein Problem daraus: es muß aus dem ausgedrucktem Dokument eine Prüfsumme gezogen werden können, die genau der Prüfsumme des digitalen Dokumentes entspricht. Es kann also nur {Zeichen, kein Zeichen, Zeilensprung, Reihenfolge} benutzt werden bei strikt festgelegtem Alphabet in Form eines Zeichensatzes. Eine Überprüfung des ausgedruckten Argumentes wäre dann zwar mühsam, jedoch durchaus möglich.
    Diese Prüfsumme wäre stabil.

    Und wenn Du möchtest kannst Du _jetzt_ fragen, wie man das am besten macht.

    Die Seite wird mit PHP erzeugt

    Eine günstige Gelegenheit die Prüfsumme zu erzeugen, die Stelle hast Du also schonmal.

    so short

    Christoph Zurnieden

  5. Moin,

    Hier wird der Inhalt nach dem base64 verfahren verschlüsselt. Kann mit jemand sagen, wie ich die Ausgabe einer bestehender PHP Seite mit Base64 codieren kann?

    Um das nochmal klarzustellen, weil das sonst womöglich noch jemand glaubt: BASE64 IST KEINE VERSCHLÜSSELUNG. Es ist eine einfache Kodierung um eine Menge von 8-Bit-Zeichen zu einer Menge von 6-Bit-Zeichen zu machen (die dann aber wieder in 8 Bit abgebildet werden), aber _keine_ Verschlüsselung. Ganz leicht zu sehen daran, dass kein Schlüssel existiert. Und selbst wenn man so viel gekifft hat, dass man es für eine Verschlüsselung halten könnte, würde es noch auf's Allergröbste Kerckhoffs Maxime verletzen.

    --
    Henryk Plötz
    Grüße aus Berlin
    ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
    ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~