Mein Problem ist, dass ein jeder mit z.B. einem Programm wie GetRight Perl Scripts betrachten kann; So ist es auch sinnlos eine Passwortabfrage über ein Script laufen zu lassen; Nun meine Frage: wie kann ich über zwei Programmiersprachen interagieren (z.B. Perl und C++, da C compiliert werden muß und somit keine möglichkeit besteht das Passwort zu betrachten)?
Desweiteren versuche ich vom Anwender in ein Formular eingegebene Daten, welche dann über CGI an mein Perl Script übermittelt werden, kodiert zu speichern; Diese kodierung soll nur einfacher art sein wie z.B.
@alter_zeichensatz = („a“…„z“); @neuer_zeichensatz = („b“…„z“,„a“);
for ($i=0;$i
Mein Problem ist, dass ein jeder mit z.B. einem Programm wie
GetRight Perl Scripts betrachten kann;
Äh, eigentlich sollte das kein Problem sein, zumindest nicht bei einem gut konfigurierten Webserver.
Normal hast du nur über HTTP bzw. den HTTP/Web-Server Zugang zu den Dateien. Und der weiß, dass er das Perl-Script ausführen muß und schickt dann nur den Output an den Client. Wie soll man da an das Skript kommen?
AFAIK ist das GetRight nur ein Download-Manager der nichts andres tut als der Browser, über HTTP auf das File zuzugreifen und es dann abspeichern, der kriegt auch nur den Output des Skripts zu sehen.
Mein Problem ist, dass ein jeder mit z.B. einem Programm wie
GetRight Perl Scripts betrachten kann;
Äh, eigentlich sollte das kein Problem sein, zumindest nicht
bei einem gut konfigurierten Webserver.
Normal hast du nur über HTTP bzw. den HTTP/Web-Server Zugang
zu den Dateien. Und der weiß, dass er das Perl-Script
ausführen muß und schickt dann nur den Output an den Client.
Wie soll man da an das Skript kommen?
AFAIK ist das GetRight nur ein Download-Manager der nichts
andres tut als der Browser, über HTTP auf das File zuzugreifen
und es dann abspeichern, der kriegt auch nur den Output des
Skripts zu sehen.
Dem kann ich mich nur anschliessen. Sobald der Webserver weiss,
dass er entweder alle Dateien in einem bestimmten (CGI)-Verzeichnis vor dem Abschicken ausfuehren soll oder
er so konfigiert ist, dass er auf die Dateiendung anspringt,
wie z.B. *.cgi oder *.pl, hast Du keine Chance ueber HTTP
an den Quellcode ranzukommen.
Auch nicht mit GetRight, das wohl auch nur (?) HTTP sprechen kann und damit den Webserver nicht umkonfigurieren wird.
Die Loesung Deines Problems sollte damit auf eine ordentliche
Konfiguration des Webservers rauslaufen.
Willst Du dennoch eine andere kompilierte Sprache von Perl
aus ausfuehren, benutzt Du am besten den system-Befehl um
das Kompilat auf Betriebssystemebene auszufuehren, siehe
„perldoc -f system“.
Mein Problem ist, dass ein jeder mit z.B. einem Programm wie
GetRight Perl Scripts betrachten kann; So ist es auch sinnlos
eine Passwortabfrage über ein Script laufen zu lassen; Nun
meine Frage: wie kann ich über zwei Programmiersprachen
interagieren (z.B. Perl und C++, da C compiliert werden muß
und somit keine möglichkeit besteht das Passwort zu
betrachten)?
Ähm, zu dem ersten Problem hätt ich noch ne Idee, wenn die Serverkonfiguration doch nicht ausreichen sollte. Du lagerst das Passwort einfach in eine andere Datei aus, die du in den (evtl.) lesbaren Perlscript einbindest. Der anderen Datei verpasst du mit chmod einfach nur Zugriff vom Besitzer, dann gibt’s keine Chance mehr daran zu kommen, nur der Script kann sich dann das Passwort dort rausholen.
Und sollte es tatsächlich jemand schaffen deinen Script zu lesen, dann steht da nur $passw, was ihm nich viel nützen wird…