AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke InternetOpenURL funktioniert nicht aus Freigabe
Thema durchsuchen
Ansicht
Themen-Optionen

InternetOpenURL funktioniert nicht aus Freigabe

Ein Thema von DeddyH · begonnen am 30. Aug 2010 · letzter Beitrag vom 1. Sep 2010
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#1

InternetOpenURL funktioniert nicht aus Freigabe

  Alt 30. Aug 2010, 16:16
Hallo, ich verwende folgende Funktion zur Prüfung einer URL:
Delphi-Quellcode:
function IsUrlValid(const sUrl: string): Boolean;
var hInet, hConnect: HINTERNET;
    StatusCode, dummy, bufLen, Option: DWORD;
begin
  Result := False;
  hInet := InternetOpen(PChar(Application.Title),
    INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY,nil,nil,0);
  if Assigned(hInet) then
    try
      Option := FCheckTimeout;
      InternetSetOption(hInet,INTERNET_OPTION_CONNECT_TIMEOUT,@Option,SizeOf(Option));
      InternetSetOption(hInet,INTERNET_OPTION_RECEIVE_TIMEOUT,@Option,SizeOf(Option));
      hConnect := InternetOpenUrl(hInet,PChar(trim(sUrl)),nil,0,
        INTERNET_FLAG_NO_UI,0);
      if Assigned(hConnect) then
        try
          dummy := 0;
          bufLen := SizeOf(StatusCode);
          if HttpQueryInfo(hConnect,HTTP_QUERY_STATUS_CODE or HTTP_QUERY_FLAG_NUMBER,
            @StatusCode,bufLen,dummy) then
            //Statuscode 200 = alles OK
            Result := StatusCode = 200;
        finally
          InternetCloseHandle(hConnect);
        end
      {$IFDEF Fehlersuche}
      else
        MessageBox(0,PChar('InternetOpenUrl-Fehler: ' + inttostr(GetLastError)),nil,0)
      {$ENDIF};
    finally
      InternetCloseHandle(hInet);
    end
  {$IFDEF Fehlersuche}
  else
    MessageBox(0,PChar('InternetOpen-Fehler: ' + inttostr(GetLastError)),nil,0)
  {$ENDIF};
end;
Nun musste ich feststellen, dass InternetOpenUrl nil zurückgibt, wenn das Kompilat aus einer Netzwerk-Freigabe heraus mit eingeschränkten Benutzerrechten aufgerufen wird. Je nachdem, was ich versuche, bekomme ich 12002(Timeout), 12007(DNS-Name konnte nicht aufgelöst werden) oder 12029(keine Verbindung zum Server) als Fehlercode zurück. Lokal klappt alles wie gewünscht, auch als Administrator gestartet gibt es keine Probleme, es scheint sich also definitiv um ein Sicherheitsproblem zu handeln. Hat jemand einen Ansatz für mich, was ich wo ändern muss (Gruppenrichtlinien, Sicherheitseinstellungen des IE, oder was weiß ich), ohne allzugroße Sicherheitslücken reißen zu müssen? Das Programm grundsätzlich als Admin zu starten ist übrigens keine Option
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: InternetOpenURL funktioniert nicht aus Freigabe

  Alt 30. Aug 2010, 17:31
Der Server auf dem das Programm liegt muss im IE in der Gruppe Intranet eingetragen sein sonst geht das nicht
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#3

AW: InternetOpenURL funktioniert nicht aus Freigabe

  Alt 30. Aug 2010, 17:32
Danke, das probiere ich morgen direkt aus (ich hatte es bereits mit "vertrauenswürdige Sites" versucht).

[edit] Irgend etwas mache ich falsch. Ich habe jetzt die komplette Domäne in die Intranet-Zone eingefügt (file://*.domain.local), leider keine Besserung [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (31. Aug 2010 um 09:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#4

AW: InternetOpenURL funktioniert nicht aus Freigabe

  Alt 1. Sep 2010, 10:24
So, ich habe nun folgende Situation:
- der Server einzeln sowie die gesamte Domäne sind in der Zone Intranet eingetragen
- der zu kontaktierende Webserver steht in der Zone "Vertrauenswürdige Sites" (soweit komme ich aber ja gar nicht)
- das Programm bringt nur als Domänenadmin das gewünschte Ergebnis, als lokaler Admin und erst recht als eingeschränkter Benutzer kommt Fehler 12007 bzw. 12029, je nachdem, ob ich den FQDN oder die IP angebe
- im IE aufgerufen kommen weiterhin die bekannten Sicherheitswarnungen (siehe auch http://www.delphipraxis.net/154094-e...-new-post.html)
- der Server ist ein Win2003 SBS mit "erweiterten Sicherheitseinstellungen" des IE

Ich habe fast den Verdacht, dass der letzte Punkt evtl. für mein Problem ausschlaggebend sein könnte, möchte dort aber vorläufig nicht einfach auf gut Glück "herumpfuschen". Falls jemand meinen Verdacht bestätigen kann oder niemand mehr andere Vorschläge hat, wird mir aber wohl nichts übrig bleiben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: InternetOpenURL funktioniert nicht aus Freigabe

  Alt 1. Sep 2010, 10:37
Das Problem ist wohl laut MSDN der IE und der ist unter Windows Server 2003+ nicht wirklich zu gebrauchen.

Ich würde die Funktion vielleicht mit Indy oder so neu schreiben um den IE zu umgehen.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#6

AW: InternetOpenURL funktioniert nicht aus Freigabe

  Alt 1. Sep 2010, 11:01
Na, das klingt ja nicht sehr ermutigend. Die Funktion ist nur ein kleiner Teil einer Komponente, das jetzt alles auf ICS/Synapse oder sonstwas umzustellen wäre ein nicht unerheblicher Aufwand. Dann überlege ich mir lieber, ob man nicht als Workaround ein kleines Tool lokal auf den Clients ablegt.
Danke Dir.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz