Mit
Autoit (_INetGetSource) kann man sehr einfach einen GET/Post Befehl
absetzen, um z.b. ein PHP Skript zu triggern, welches die übergebenen
Werte in eine Datenbank einfügt.
Wie
kann verhindern, dass die URL zweckentfremdet wird (Url wird z.b. per
Netzwerksniffer bekannt und es werden einfach sinnfreie Inserts
generiert) und nur im Autoit Skript verwendet werden kann. Der Input
wird vom PHP Skript bereits validiert.
Autoit und PHP Übergabeparameter
-
- [ offen ]
-
horst290 -
23. Oktober 2013 um 18:36 -
Geschlossen -
Erledigt
-
-
Das wirst du so gut wie nie verhindern können, eine Option wäre es ein 2. Script zu starten aber das wäre wiederum unschön.
Was man machen könnte - ich empfehle es auf keinen Fall - per gehidetes _IE Objekt draufzuzugreifen und dann wieder zu schließen.Beim Netzwerksniffer wird ja die entgültige Adresse gesniffed, also bringt das crypten den URL im Source nichts.
-
Du könntest zusätzlich noch ein Passwort zur Authentifizierung mitgeben.
Wenn du Angst hast, dass dieses mitgeloggt wird solltest du auf HTTPS als Verbindung ausweichen.
Dort wird erst die verschlüsselte Verbindung aufgebaut und dann die URL übertragen.
Das gibt schon mal eine gewisse Sicherheit beim Thema Sniffing.
Wenn du allerdings einen Trojaner auf dem Rechner hast kann der das vor der Verschlüsselung auch mitlesen.
In der Browser-History und im Server-Log steht die URL dann übrigens auch im Klartext.Aber selbst das Passwort an sich wäre nicht zu 1000% sicher bei der Übertragung.
Daher wäre es cleverer statt einem Passwort zu den jeweiligen zu übertragenden Parametern ein Hash mit zu übertragen.
Wie dieser Hash erzeugt wird sollte nur dir und dem PHP-Skript bekannt sein (z.B. ein md5-Hash mit einem speziellen Salt).
Erst wenn der übertragende Hash zu den übergebenen Daten passt (vom PHP-Skript zu überprüfen) dürfen die Daten eingetragen werden.Wenn das ganze Verfahren aber in einem AutoIt-Skript stattfindet lässt sich aber der Quellcode leicht auslesen wenn jemand böswilliges Zugriff auf das AutoIt-Skript hat oder sogar haben soll.
Daher könnte man stattdessen User-Profile auf dem Server anlegen und Name und Passwörter mit übergeben (am besten asynchron verschlüsselt übertragen - dann kann keiner die Userdaten sniffen und entschlüsseln - auch bei Kenntnis des AutoItskriptes).
Nur gültige User-Passwortkombinationen (bzw. Hash des Passwortes) werden zum Schreiben zugelassen.
Wenn denn mal einer eine gültige Kombination erwischt hat kannst du den User ganz schnell löschen und alle anderen können trotzdem problemlos weiterarbeiten.
Wenn du zu jedem Eintrag auch noch den User mit loggst lassen sich dessen Sinnlos-Einträge auch ganz einfach per SQL löschen.Achso - eine Frage nur aus Interesse: Wie übergibt man per _InetGetSource() Daten per POST?