Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Variable aus Perl-Script an PHP übergeben Antworten
Variable aus Perl-Script an PHP übergeben

diwie
Otto-Normal-Poster


Beiträge: 51


Clientseitig den Windows Login kann ich mittels Perl ja abfagen:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9:
#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

my $Wert = getlogin();
print "$Wert";


Wie starte ich o.g. Script am besten aus einem PHP-Script heraus und bekomme die Variable $Wert nach PHP übergeben?

  Profil   Editieren   Zitieren

Ori
Fachidiot


Beiträge: 115


Windows-Anmeldedaten frage ich immer via Webserver-Einstellung ab, sodass PHP damit nichts mehr zu tun hat. Da ich den IIS nutze (war halt dabei), ist die Einstellung davon ein Kinderspiel; Apache kann das vermutlich auch.

Es steht zwar nicht in der Liste der vorgegebenen Variablen, aber der Benutzername wird wohl nach diesem Handbucheintrag in $_SERVER['REMOTE_USER'] abgelegt.

Nachtrag:
Falls das nichts bringt, musst Du wohl die Anmeldedaten selbst abfragen und dann an das Perl-Skript via HTTP-Aufruf schicken, um sie zu prüfen.

Nachtrag 2:
Das Skript prüft sie nicht, den ersten Nachtrag also ignorieren.

Diese Nachricht wurde geändert von: Ori
  Profil   E-Mail   Website   Editieren   Zitieren

diwie
Otto-Normal-Poster


Beiträge: 51


Ich rufe es im Augenblick so auf

1: 
2: 
3: 
4:
exec ('perl "..\cgi-bin\read_login.pl"', $login);
$login = $login[0];


und kann mit der Anmeldenformation in $login mit PHP weiterarbeiten.

Der momentane Aufruf über exec verlangt doch aber wohl ein clientseitig installiertes Perl beim User?

Das wäre im meinem Fall im Intranet ja noch gegeben, aber kann ich damit auch auf das Perlscript read_login.pl zugreifen, wenn es zentral auf dem Webserver liegen würde?

Wie oben dargestellt klappt das wohl nur in meiner lokalen WAMP-Umgebung?

Diese Nachricht wurde geändert von: diwie
  Profil   Editieren   Zitieren

Ori
Fachidiot


Beiträge: 115


Perl fragt vermutlich nach den lokalen Anmeldedaten (also auf dem Rechner, auf dem Perl ausgeführt wird, dem Server). Das ist einerseits erwünscht, andererseits taucht der Login-Bildschirm dann auch auf dem Server auf; als Besucher bekommt man davon also wenig mit. Und weil niemand etwas eingibt, sollte das PHP-Skript mit einem Timeout abbrechen.

Wie gesagt: Löse es über Webserver-Einstellungen (wenn es unbedingt Windows-Anmeldedaten sein müssen).

  Profil   E-Mail   Website   Editieren   Zitieren
 

Antworten
Nach oben