-
22. 01. 2013, 23:57 #1Mitglied
- Registriert seit
- May 2012
- Beiträge
- 10
- Danksagungen
- 0
openPGP erlaubter Zeichensatz: Regex filter erstellen
Moin, zusammen:
Ein php-script erhält per Webformular submit() eine PGP-Message, welche es mit der PHP-Methode "$_POST[...]" ausliest und dann per PHP-Methode "mail()" weitersenden soll.
Nun möchte ich verhindern, dass die durch das Webformular übermittelten Daten auf meinem schönen Webserver Schaden verursachen.
Dazu würde ich gerne - in einem ersten Schritt - auf erlaubte Zeichen filtern.
Ich glaube zu erkennen, dass der Zeichensatz in RFC3156 beschrieben ist.
Diese wiederum bezieht sich auf RFC1847, in der die drei MIME Inhaltstypen in OpenPGP spezifische Inhaltstypen zur Verschlüsselung benannt sind: "application/pgp-encrypted", "application/pgp-signature" und "application/pgp-keys".
MIME (RFC822) sind 7-Bit Zeichen des US-ASCII Zeichensatzes.
Wenn ich alles richtig verstanden habe, sollten die erlaubten Zeichen also
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
`~!@#$%^&*()_+={}\|:;[]'"<>,.?/
sein.
Stimmts?
Gruß:
Axel
-
23. 01. 2013, 06:45 #2
Re: openPGP erlaubter Zeichensatz: Regex filter erstellen
PGP ASCII Nachricht dürfte eher base64 codiert sein, oder?
Oder meinst Du die binären Ausgaben von PGP? die dürften eher volle 256 Character ausnutzen.
Warum nimmst Du die Nachricht nicht als base64 entgegen?
bzw, encodierst das ankommende als base64 und leitest es weiter? OK, die Datenmenge könnte nochmal auf das 1,5 bis 2-fache ansteigen.
Was solll denn geschehen?
Was für ein Script verwendest Du denn?
-
23. 01. 2013, 09:38 #3Mitglied
(Threadstarter)
- Registriert seit
- May 2012
- Beiträge
- 10
- Danksagungen
- 0
Re: openPGP erlaubter Zeichensatz: Regex filter erstellen
Moin:
Ich suchte nach einer guten Möglichkeit, andere Personen verschlüsseltes Mailen an mich zu ermöglichen. Die Hürde sollte möglichst niedrig sein.
Ich fand dann diese geniale Lösung von Herbert Hanewinkel, www.haneWIN.de , der unter http://c.hanewin.de/ ein Webformular bereitstellt.
Das wird bei ihm dann an ein .pl-script gesendet.
Ich lasse meinen (auf dem Browser verschlüsselten) Text an ein php-Script senden; dort soll nun die Fehlerbehandlung stattfinden. In einem .js - schnipsel finde ich tatsächlich
var b64s='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
Das stimmt auch fast mit meinem empfangenen verschlüsselten Text überein; Allerdings finden sich je kurz vor Ende der -----END PGP MESSAGE----- zwischen 1 und 3 "="-Zeichen, dannach noch 4 Charakter.
Scheint Prüfsumme CRC24 zu sein. AAArgh, ich habe gedacht, das Wort "Polynomdivision" nach der Schule aus meinem Wortschatz verbannen zu dürfen!
...K0y/ntfm1LI8TZbVdrwhdhT3PCA===JLFd
...H8NwO5sRlElrzZMfZtz8ZJCnQr28/fy=7X0l
...T9RntVjoqqrB9cvnV3gs3OjYltSg===DdJf
Übrigens je vor dem letzten "=" immer ein Zeilenumbruch.
Das "=" ist ja kein Zeichen innerhalb der .js VAR b64s. Aber:
@avalax: base64 war das Stichwort. http://de.wikipedia.org/wiki/Base64
Nun gut; Wenn ich also meine empfangenen Daten auf integrität prüfen möchte, wären die BedingungenZur Kodierung werden die Zeichen A–Z, a–z, 0–9, + und / verwendet, sowie = am Ende
base64-Zeichensatz + "="
und Prüfsumme== CRC Daten
... oder hab´ ich was vergessen?
Axel
-


Zitieren

mehr lesen...







Julian Assange fürchtet geheimen...
Heute, 02:05 in gulli:news