URL meiner Cams nicht mehr aufrufbar

Hallo zusammen,

ich hab da ein Problem, was ich nicht lösen kann.

Bisher bin ich in meinem Script und auch mit dem IE über folgende URL auf meine Kamera gegangen, um das derzeitige Live-Bild als jpeg zu bekommen:

http://Benutzername:Passwort@IP_der_Kamera:80/cgi-bin/guest/Video.cgi?media=JPEG

Doch dies funktioniert plötzlich nicht mehr. Der IE bringt beigefügte Fehlermeldung. Das Script läuft auch auf einen Timeout.

Die normale Anmeldung via IP über den IE funktioniert tadellos. Ich habe sogar schon ein Firmware-Downgrade gemacht. Gleicher Fehler.

Was kann sich bei mir geändert haben, dass es nicht mehr funktioniert, Benutzername:PW@ als URL mitzugeben?

Ich bin ratlos.

Gruß

Jimmy

IE.jpg

Hallo Jimmy

By default, versions of Windows Internet Explorer that were released starting with the release of security update 832894 do not support handling user names and passwords in HTTP and HTTP with Secure Sockets Layer (SSL) or HTTPS URLs. The following URL syntax is not supported in Internet Explorer or in Windows Explorer:
http(s)://username : password@server/resource.ext

mehr dazu hier
Internet Explorer does not support user names and passwords in Web site addresses (HTTP or HTTPS URLs)

Gruß
astrastar

Okay, danke. Problem verstanden.

Habe nun versucht, den Workaround von Microsoft zu verwirklichen. Aber das Ergebnis…keins, alles so wie vorher.

Wie kann ich die Einbeziehung von Benutzername und Passwort in eine URL

A) in meinem Homeserver mit IE8 und IPS via php
B) auf den Clients mit IE8

in internen Netz wieder reaktivieren?

Gruß

Jimmy

Hallo Jimmy,

welchen Workaround hast du denn versucht? Das klingt doch ganz gut, oder?

Deaktivieren des neuen Standardverhaltens bei der Verarbeitung von Benutzerinformationen in HTTP- oder HTTPS-URLs
Um das neue Standardverhalten in Windows Explorer und Internet Explorer zu deaktivieren, erstellen Sie die DWORD-Werte iexplore.exe und explorer.exe in einem der folgenden Registrierungsschlüssel, und setzen Sie die Werte auf 0:

* Legen Sie den Wert für alle Benutzer des Programms im folgenden Registrierungsschlüssel fest:
  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
* Legen Sie den Wert nur für den aktuellen Benutzer des Programms im folgenden Registrierungsschlüssel fest:
  HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE

Ich würde an deiner Stelle aber auf einen ordentlichen Browser umsteigen, der auch solche grundlegenden Funktionen beherrscht, und nicht aufgrund von Paranoia abschaltet.

Freundliche Grüße

Stefan

Hallo muc,

ein anderer Browser wird Jimmy nicht helfen, da er ja per Skript auf die URL zugreift.
(das heißt Betriebssystem und damit IE nutzen)
Aus diesem Grund nutze ich wget (einfaches kostenloses Tool) zum abfragen der URL und schiebe die Images dann ins IPS Media Verzeichnis.

Gruß
astrastar

Hallo Stefan,

einen Browser brauch ich nicht. Ich rufe diese URL per IPS-Script auf.

Das Script allerdings nicht mehr durch.

Wird mir da der Workaround überhaupt helfen? Oder habe ich plötzlich zwei getrennte Probleme mit der URL.

Gruß

Jimmy

So sieht mir das derzeit aus :slight_smile:

Probier mal, die URL mit einem ordentlichen Browser (z.B. Firefox) aufzurufen. Bekommst du dann (wie erwartet) dein Bild geliefert?

Wie sieht dein Script denn aus, verwendest du fopen oder Vergleichbares? Ich bin mir nicht sicher, wie sich das Sicherheitsupdate auf PHP auswirkt, ich hätte behauptet, das hat auf PHP keine Auswirkungen - aber astrastar meint wohl was anderes. Sonst kannst du es ja auch mal, wie von ihm vorgeschlagen, mit wget (und dann exec(), oder?) probieren.

Freundliche Grüße

Stefan

wie sich das Sicherheitsupdate auf PHP auswirkt, ich hätte behauptet, das hat auf PHP keine Auswirkungen - aber astrastar meint wohl was anderes

Reines PHP z.B. fopen sollte funktionieren.
Probleme machten bei mir die IPS internen Funktionen
(ob IPS dazu Betriebssystem APIs und IE Komponenten nutzt, weis ich nicht)

Da mich aber die Abhängigkeit zu den internen Funktionen, bzw. die sich ändernde Syntax gestört hat,
verwende ich so weit als möglich und sinnvoll reines PHP, oder eben externe Programme

Gruß
astrastar

Hi,

ich nutze das Script hier aus dem Forum:

<?
$value = 0;
$parentID = IPS_GetObject($IPS_SELF);
$parentID = $parentID['ParentID'];
$camID = IPS_GetMediaIDByName("Bild", $parentID);
$selectionID = IPS_GetVariableIDByName("Kamera", $parentID);
$camSet = IPS_GetVariableIDByName("Automatischer Kamerawechsel", $parentID);

if ($IPS_SENDER == "WebFront")
{
    $value = $IPS_VALUE;
    SetValue($selectionID, $IPS_VALUE);
    SetValue($camSet,0);
}
else
{
    $value = GetValue($selectionID);
}

$fileUri = GetValueString(IPS_GetVariableIDByName($value, $selectionID));
$interval = GetValueInteger(IPS_GetVariableIDByName($value." Intervall", $selectionID));
$fileName = "media/CamImage".$camID.".jpg";

IPS_SetMediaFile($camID, $fileName, false);

$imageContent = Sys_GetURLContent($fileUri);
if ($imageContent !== FALSE)
{
   $fileHandle = @fopen("../".$fileName, 'wb+');
    if (@fwrite($fileHandle, $imageContent) === FALSE)
    {
       $fileName = "";
        @unlink($fileName);
    }
    fclose($fileHandle);
}

IPS_SetScriptTimer($IPS_SELF, $interval);
?>

Wenn ich über die Funktion Sys_GetURLContent gehe, bekomme ich immer nur ein jpeg, dass 1KB groß ist, also nur ne leere Hülle.

Vorher hatte ich statt der Funktion reinen php-Code drin und das Script konnte nicht sauber durchlaufen (hatte ich damals gepostet). Ich sollte dann die Funktion Sys_GerURLContent nehmen.

Dann läuft das Script zwar, aber kein Bildinhalt wird erzeugt, nur die Datei selbst mit 1KB.

Zum Browser, auch im Firefox funktioniert es nicht, die URL aufzurufen.

Was soll ich tun?

Gruß

Jimmy

Für den Zugriff mit Passwort musst Du Sys_GetURLContentEx(‚URL‘, array(„AuthUser“=>‚Benutzername‘,„AuthPass“=>‚Passwort‘)) statt Sys_GetURLContent benutzen.

Hallo Horst,

klappt, danke.

Gruß

Jimmy