$_POST Daten stimmen nicht

Alles, was den Apache betrifft, kann hier besprochen werden.

$_POST Daten stimmen nicht

Postby Bugs » 29. January 2015 21:33

Hallo zusammen,

ich hoffe, ich bin hier im richtigen Forum gelandet. Wenn nicht, bitte verschieben.
Ich beschreib mal kurz meine Beobachtung:

von einem µC sende ich eine HTTP Post anfrage an meinem PC ( mit dem Apachen drauf ) aber wenn ich mir diese mit echo $_POST[data]; anzeigen lasse, stimmen die nicht mit dem orginal über ein.
Aus dem "+" 0x2B ist ein " " 0x20 geworden.
Original : data=sr3IoCa93ju4oEHti2ZhLD2OyJjfEIcG1b3h+JK9LXg=
$_POST[data] : sr3IoCa93ju4oEHti2ZhLD2OyJjfEIcG1b3h JK9LXg=
Aufm PC im Wireshark passt alles, das "+" ist noch da.

Muss ich vllt im Webserver etwas einstellen, oder wo könnte der Fehler liegen?

Grüße Bugs
Bugs
 
Posts: 6
Joined: 29. January 2015 21:22
Operating System: Win7

Re: $_POST Daten stimmen nicht

Postby Altrea » 30. January 2015 00:42

Hallo,

Wie generierst du denn die HTTP_POST anfrage?
Vielleicht wird das Zeichen an dieser Stelle nicht korrekt kodiert?

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8298
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: $_POST Daten stimmen nicht

Postby Bugs » 30. January 2015 02:55

Die Anfrage erfolgt über lua.socket und mime base64. Aber wie gesagt, laut wireshark werden sie korrekt an Apache gesendet.
Bugs
 
Posts: 6
Joined: 29. January 2015 21:22
Operating System: Win7

Re: $_POST Daten stimmen nicht

Postby Nobbie » 30. January 2015 13:18

Verantwortlich für dieses Verhalten ist der sog. "CONTENT-TYPE" im HTTP Header, wahrscheinlich ist der Default "application/x-www-form-urlencoded" (dann decodiert das PHP Startmodul den CGI Request entsprechend), möglicherweise benötigst Du einen anderen CONTENT-TYPE ("multipart/form-data") oder Du musst den Wert "+" maskieren, in PHP würde man das dann mit urlencode() machen.

Da musst Du Dich ein wenig in das Protokoll HTTP einarbeiten und die entsprechenden Header richtig setzen (oder eben selbst encoden). Die Zeichen µC sagen mir nichts.
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: $_POST Daten stimmen nicht

Postby Bugs » 30. January 2015 14:52

@ Nobbie:

hab mal fix n paar Seiten zum Thema überflogen und das könnt es tatsächlich sein.
Werds nachhher mal so versuchen :
headers = {
["content-type"] = "text/plain",
["content-length"] = tostring(#reqbody) -- "#" gibt die länge des strings zurück und "--" ist in LUA ein einzeiliger Kommentar ;-)
}
µC:
Als Mikrocontroller (auch µController, µC, MCU) werden Halbleiterchips bezeichnet, die einen Prozessor und zugleich auch Peripheriefunktionen enthalten. In vielen Fällen befindet sich auch der Arbeits- und Programmspeicher teilweise oder komplett auf demselben Chip. Ein Mikrocontroller ist ein Ein-Chip-Computersystem. Für manche Mikrocontroller wird auch der Begriff System-on-a-Chip oder SoC verwendet.

(Quelle: http://de.wikipedia.org/wiki/Mikrocontroller)

in meinem Fall ein RT5350@360MHz

Bugs
Bugs
 
Posts: 6
Joined: 29. January 2015 21:22
Operating System: Win7

Re: $_POST Daten stimmen nicht

Postby Nobbie » 30. January 2015 15:35

Bugs wrote:@ Nobbie:

hab mal fix n paar Seiten zum Thema überflogen und das könnt es tatsächlich sein.


Mit Sicherheit liegt es daran, du musst eben herausfinden, wie es richtig funktioniert. Ich kam auch nicht drauf, wo ich "lua" schon mal gehört hatte, das ist auch eine Skriptsprache wie PHP oder Perl. Gibt es keine Funktion (oder Methode) um eine URL zu codieren (da wird dann aus "+" ein "%2B" beispielsweise).

Bugs wrote:Als Mikrocontroller (auch µController, µC, MCU) werden Halbleiterchips bezeichnet, die einen Prozessor und zugleich auch Peripheriefunktionen enthalten. In vielen Fällen befindet sich auch der Arbeits- und Programmspeicher teilweise oder komplett auf demselben Chip. Ein Mikrocontroller ist ein Ein-Chip-Computersystem. Für manche Mikrocontroller wird auch der Begriff System-on-a-Chip oder SoC verwendet.


Das habe ich auch schon gesehen. Ist ein Raspberry auch ein µC? Oder schon fortgeschritten (mit USB Slots usw.)?
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: $_POST Daten stimmen nicht

Postby Bugs » 30. January 2015 19:52

Vielen Dank für den Denkanstoß.
Vor dem Versenden:

Code: Select all
function escapeString(string)
    return string.gsub(string, "([^A-Za-z0-9_])", function(c)
        return string.format("%%%02x", string.byte(c))
    end)
end


und alles ist gut ;-)

Schönen Abend
Bugs
Bugs
 
Posts: 6
Joined: 29. January 2015 21:22
Operating System: Win7

Re: $_POST Daten stimmen nicht

Postby Nobbie » 30. January 2015 20:38

Na also - kaum macht man's richtig, schon funktionierts....

Jetzt bin ja trotzdem neugierig, was dahinter steckt? Was machst Du da genau?
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: $_POST Daten stimmen nicht

Postby Bugs » 30. January 2015 21:01

Ich möchte Logdaten ( Temperaturen ) von von diesem kleinen Spielzeug ( http://www.hlktech.net/product_detail.php?ProId=39 ) an eine Webseite ( Apache & PHP ) per POST senden.
Sowas wie data=xxxxxx
xxxxxx is ein AES256 und BASE64 enc. String ala "Time;Temp1;Temp2,Temp3,...."
Dafür hab ich dem Modul ein selbst zusammen gestelltes Image erstellt ( 3,6 MiB mit allem für LAN,WLAN,USB_Storage, USB_Serial, lua, aeslua und lua-socket )
LUA weil der Interpreter SEHR klein und mächtig ist.

Aber jetzt wo der BAS64_String richtig beim Server ankommt, gibts gleich die nächste Herausforderung. :-(
Die mit mcrypt decodierten Daten passen gar nicht. Ja Base64_decode hab ich davor gemacht und die zu decodierenden "Rohdaten" stimmen mit dem Orginal überein.

Muss mir wohl doch mal die Sourcen vom aeslua genauer anschauen, die Padding_Routinen musst ich auch schon anpassen.

Bugs
Bugs
 
Posts: 6
Joined: 29. January 2015 21:22
Operating System: Win7

Re: $_POST Daten stimmen nicht

Postby Nobbie » 30. January 2015 21:16

Bugs wrote:Aber jetzt wo der BAS64_String richtig beim Server ankommt, gibts gleich die nächste Herausforderung. :-(
Die mit mcrypt decodierten Daten passen gar nicht. Ja Base64_decode hab ich davor gemacht und die zu decodierenden "Rohdaten" stimmen mit dem Orginal überein.


... aber mcrypt "decodiert" doch nichts? Du meinst ggf. "mcrypt_decrypt()"? Und wozu brauchst Du das überhaupt, für den simplen String??

Bugs wrote:Muss mir wohl doch mal die Sourcen vom aeslua genauer anschauen


Aha - AES und mcrypt ist nicht dasselbe, es gibt ein eigentlich keine AES Chiffrierung. Aber es gibt Umgehungslösungen (abhängig vom verwendeten AES Chiffre):

http://www.leaseweblabs.com/2014/02/aes ... y-padding/


Aber brauchst Du das wirklich alles? Du führst keinen Weltkrieg und willst auch keine U-Boote verlieren.... *lach*

Reicht Plaintext nicht auch?
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: $_POST Daten stimmen nicht

Postby Bugs » 30. January 2015 21:57

Hehe, aber spätestens bei "Weltkrieg und U-Boots" ist irgendwo kurz ne Warnlampe angegangen ;)

mcrypt schrieb ich b nur um zu zeigen, das ich mcrypt_Funktionen verwende und nicht die OpenSSL.

Das AES nur eine Untermenge von Rijndael ist weiß ich schon und den Link kenn ich auch schon.

Und ja natürlich brauch ich das, allein schon des Machens wegen ;) .
Außerdem in Zeiten dieses wachsenden Hypes um SmartHome und IoT,
vergessen viele was mit so "unwichtigen" Daten möglich ist.
Z.B. aus so harmlosen Daten einer Heizungsanlge ließen sich Daten über Heizgewohnheiten ableiten.
Mit diesen und ein paar Wetterdaten, stellt man z.B. fest ob jemand zu Hause ist ;)
Datamining ist ein stark wachsender Markt und die beiden Beispiele nur die Spitze des Eisbergs!
Und nein, bin nicht paranoid oder Verschwörungstheoretiker ;) hab beruflich mit diesen Themen ein wenig zu tun.

Bugs
Bugs
 
Posts: 6
Joined: 29. January 2015 21:22
Operating System: Win7

Re: $_POST Daten stimmen nicht

Postby Nobbie » 03. February 2015 13:20

Bugs wrote:Außerdem in Zeiten dieses wachsenden Hypes um SmartHome und IoT,


Das muss ja ein Irrsinns-Hype sein - habe ich beides noch nie gehört.... *totlach*.

Bugs wrote:Z.B. aus so harmlosen Daten einer Heizungsanlge ließen sich Daten über Heizgewohnheiten ableiten.


Vor allem im Sommer.... Ne mal im ernst, das ist doch schräg, was für Daten aus welcher Heizungsanlage? Ich habe ein Energiesparhaus und da ist eine Wärmepumpe eingebaut - die einzigen Daten, die da dynamische produziert werden, werden vom Außenthermometer getriggert, sonst gar nichts. Ich lege nicht einmal irgendwo Hand an, egal ob ich zuhause bin oder für 4 Monate im Urlaub. Und wie sollen die Daten (die sind nur in der Wärmepumpe) nach draußen gelangen??

Bugs wrote:Mit diesen und ein paar Wetterdaten, stellt man z.B. fest ob jemand zu Hause ist ;)


"Unbedingt".... ich teile Dir meine Adresse mit und Du sagst mir, wann ich im Urlaub bin. s.o. - meine Wärmeanlage wird vollautomatisch von einem Außensensor gesteuert, der weiß mit absoluter Sicherheit nicht, ob ich im Urlaub bin oder nicht.

Bugs wrote:Datamining ist ein stark wachsender Markt und die beiden Beispiele nur die Spitze des Eisbergs!
Und nein, bin nicht paranoid oder Verschwörungstheoretiker ;) hab beruflich mit diesen Themen ein wenig zu tun.


Wobei kein Mensch weiß, ob diese Daten wirklich diesen Wert besitzen. Das ist wirklich "Hype". Man erinnere sich daran, wie wahnsinnig viel Facebook für WhatsApp zum Fenster rausgeworfen hat - das sind diese Daten NIE UND NIMMER Wert. Aber das Geld war einfach da (durch den Börsengang), aber das ist total überschätzt.

Aber, darf natürlich jeder machen was er will, wenn man damit Geld verdienen kann, why not?!
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: $_POST Daten stimmen nicht

Postby Altrea » 03. February 2015 16:52

Nobbie wrote:Das muss ja ein Irrsinns-Hype sein - habe ich beides noch nie gehört.... *totlach*.

Internet of Things und SmartHome ist kein Hype außerhalb der IT Wahrnehmung, aber im IT Mikrokosmos schon eine Art Vision oder Trend den man, wenn man mit IT zu tun hat, sehr wahrscheinlich schon einmal gehört haben wird. Ist auf jeden Fall einen Blick wert und wird durchaus auch kontrovers diskutiert.
Gerade im Bereich IoT gibt es (lässt man die Kinderspielereien a la SmartHome mal außen vor) meiner Meinung nach schon ein paar ganz interessante Themenbereiche.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8298
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests