wie kann ich die Serverseitig gesperrte Option (siehe Titel des Threads) mittels "cURL" umgehen.
Folgendes Problem:
../viewonline.php ist durch den Link "wer ist online" aufrufbar und funktioniert.
Sobald ich aber "whois" neben dem online User anklicke geht das Popup auf doch der Inhalt der Tabelle, wo eigentlich die Traceroute und alles andere erscheinen müsste, bleibt leer.
Vom Provider weiss ich nun dass es an der im Threadtitel beschriebenen Funktion liegt (da diese standard deaktiv ist) und ich das entweder kostenpflichtig manuell freischalten lassen kann, was ein Sicherheitsrisiko darstellt, oder ich die Funktion cURL benutzen soll.
Wo und wie binde ich cURl nun ein damit "Whois" wieder funktioniert?
Vielen Dank.
Nachtrag 1:
Mittlerweile hab ich herausgefunden dass es in der /includes/functions_user.php geändert werden müsste.
Zumindest stehen da zwei ausschlaggebende Werte auf "fsockopen".
Wie bekomme ich das Ganze jetzt auf curl oder auch libcurl umgeschrieben?
Hat das schon jemand gemacht und enstprechende Snippets für mich?
Nachtrag 2:
Hier wäre noch der entsprechende Codeausschnitt aus der Datei...:
Code: Alles auswählen
/**
* Whois facility
*
* @link http://tools.ietf.org/html/rfc3912 RFC3912: WHOIS Protocol Specification
*/
function user_ipwhois($ip)
{
$ipwhois = '';
// Check IP
// Only supporting IPv4 at the moment...
if (empty($ip) || !preg_match(get_preg_expression('ipv4'), $ip))
{
return '';
}
if (($fsk = @fsockopen('whois.arin.net', 43)))
{
// CRLF as per RFC3912
fputs($fsk, "$ip\r\n");
while (!feof($fsk))
{
$ipwhois .= fgets($fsk, 1024);
}
@fclose($fsk);
}
$match = array();
// Test for referrals from ARIN to other whois databases, roll on rwhois
if (preg_match('#ReferralServer: whois://(.+)#im', $ipwhois, $match))
{
if (strpos($match[1], ':') !== false)
{
$pos = strrpos($match[1], ':');
$server = substr($match[1], 0, $pos);
$port = (int) substr($match[1], $pos + 1);
unset($pos);
}
else
{
$server = $match[1];
$port = 43;
}
$buffer = '';
if (($fsk = @fsockopen($server, $port)))
{
fputs($fsk, "$ip\r\n");
while (!feof($fsk))
{
$buffer .= fgets($fsk, 1024);
}
@fclose($fsk);
}
// Use the result from ARIN if we don't get any result here
$ipwhois = (empty($buffer)) ? $ipwhois : $buffer;
}
$ipwhois = htmlspecialchars($ipwhois);
// Magic URL ;)
return trim(make_clickable($ipwhois, false, ''));
}
Ich benutze im Übrigen "phpbb 3.0.7-pl1" auf einem kostenpflichtigen Host, die URL zum Onlineangebot lautet http://medien-shredder.de (für den Fall der Kontrolle des Copyright).