Domino 9 und frühere Versionen > ND8: Entwicklung

Agent per Javascript/Ajax aufrufen, Authentifizierung?

<< < (3/5) > >>

schroederk:
folgender Source-Code liefert als Ergebnis immer: "Error: No cURL data returned for..."
Unabhängig davon ob ich korrekte Zugangsdaten verwende oder nicht:


--- Code: --- $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt ($ch, CURLOPT_HTTPAUTH, "CURL_AUTH_BASIC");
curl_setopt ($ch, CURLOPT_USERPWD, $credentials);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_SSLVERSION, 3);

$headers = array(
"POST ".$page." HTTP/1.0",
"Accept: text/html",
"Cache-Control: no-cache",
"Pragma: no-cache",
"Authorization: Basic " . base64_encode($credentials)
);

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURL_HTTP_VERSION_1_1, true);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
    if ($usecookie) {
        curl_setopt($ch, CURLOPT_COOKIEJAR, $usecookie);
        curl_setopt($ch, CURLOPT_COOKIEFILE, $usecookie);   
    }
    if ($refer != "") {
        curl_setopt($ch, CURLOPT_REFERER, $refer );
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result = curl_exec ($ch);

--- Ende Code ---

Wenn ich diesen Code verwende, dann erhalte ich überhaupt kein Ergebnis. Auch unabhängig davon, ob ich korrekte Credentials verwende oder nicht.


--- Code: ---$headers = array(
"POST ".$page." HTTP/1.0",
"Accept: text/html",
"Cache-Control: no-cache",
"Pragma: no-cache",
"Authorization: Basic " . base64_encode($credentials)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_USERAGENT, $defined_vars['HTTP_USER_AGENT']);

$data = curl_exec($ch);

--- Ende Code ---


Wenn ich per Javascript den Benutzer (oder die IP) ermittle, hab ich ja nicht wirklich gewonnen, da ein anonymer Aufruf über der Browser dann ja auch möglich ist und mein Javascript dann gar nicht ausgeführt wird.
Gibts mit Lotusscript Boardmitteln keine Möglichkeit die IP-Adresse des Clients herauszufinden?

pram:

--- Zitat ---Gibts mit Lotusscript Boardmitteln keine Möglichkeit die IP-Adresse des Clients herauszufinden?

--- Ende Zitat ---
Doch das ginge in dem du das Feld REMOTE_ADDR aus dem Context-Doc ausliest (achtung Feld muss in einer Maske als "computed for display" existieren, sonst kann man es im webQueryOpen-Agent nicht auslesen)
Das bringt dir aber nichts, sobald ein Proxy/NAT/Loadbalacer/Terminalserver/... eingesetzt wird. IP-basierte Authentifizierung halte ich jedenfalls für problematisch.

Erklär evtl mal etwas genauer was du machen willst, insb. auf welchem Server Domino/PHP läuft und von wo nach wo zugegriffen werden soll und wo welche Authentifizierung läuft.


--- Zitat ---Wenn ich diesen Code verwende....

--- Ende Zitat ---
Schau doch mal ob du mit deinem Code prinzipiell Daten holen kannst, z.B. in dem du einfach mal eine URL eingibst die keine Authentifizierung erfordert (z.B. von http://www.google.de).
Da der Code am PHP-Server ausgeführt wird, kann es auch sein, dass diese keinen Zugriff auf den Zielserver (Stichwort Firewall/Proxy/DNS-Auflösung) hat

Gruß
Roland

atbits:
Wieso denn nun auf einmal Php?
Ich dachte wir bewegen uns im Domino-Umfeld?

pram:
er postet doch oben PHP-Code (zumindest das cURL-Zeug sieht ganz nach PHP aus), drum bin ich ja so verwirrt  ??? ;D

umi:
Ich würde mal den Haken bei  "Als Webbenutzer ausführen" entfernen.
was für Rechte hat den der User Anonymous ?

evtl. hilft Dir auch das weiter:
http://www.codestore.net/store.nsf/unid/BLOG-20081010?OpenDocument

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln