Warning: file_get_contents() [function.file-get-contents]

  • Onderwerp starter Onderwerp starter eeyk
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

eeyk

Terugkerende gebruiker
Lid geworden
28 mrt 2007
Berichten
1.232
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /home/id02117/domains/crime-ware.nl/public_html/crime/gebeld_vip.php on line 3

Warning: file_get_contents(http://www.eurobellen.nl/bel/check.php?userid=91hoogs&ip=80.56.164.170&ebpin=0199) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /home/id02117/domains/crime-ware.nl/public_html/crime/gebeld_vip.php on line 3
Pincode validatie mislukt ()

wat is dit voor fout?

Code:
<?

$ebcheck = file_get_contents("http://www.eurobellen.nl/bel/check.php?userid=91hoogs&ip=".$_SERVER['REMOTE_ADDR']."&ebpin=".$_GET['ebpin']);
if($ebcheck!="OK") {
   echo "Pincode validatie mislukt ($ebcheck)";
   exit;
}
?>



<?
  include("_include-config.php"); 

// userid moet worden veranderd naar mijn account naam..

$insert = "UPDATE `[users]` SET `gebeld`=`gebeld`+'1' WHERE `login`='$data->login'"; 
mysql_query("UPDATE `[users]` SET `credits`=`credits`+100 WHERE `login`='$data->login'");
mysql_query("INSERT INTO `[bellen_backup]`(`datum`, `login`) VALUES ('$date','$data->login')") or die("FOUT : " . mysql_error());
$insert_now = mysql_query($insert) or die("FOUT : " . mysql_error());

?>
<link rel="stylesheet" type="text/css" href="css-v1.css">
<table align=center width=100%>
  <tr><td class=subTitle><b>Credits gekocht.</b></td></tr>
  <tr><td class=mainTxt><center>Bedankt voor het steunen van Getto Gang.<br />
<br />
U heeft nu  <b>100</b> Credits erbij gekregen.<br />
<br />
indien u geen credits heeft gekregen.<br />
stuur de code naar Admin: patric.<br />
en de Datum.
<br />
<br />
<B>GEEN GELD TERUG</b>
<br />
</table>

alvast bedankt.
 
Laatst bewerkt:
URL file-access is disabled in the server configuration

Het lijkt erop dat je server niet toestaat dat je een file_get_contents() uitvoert naar een pagina die buiten je eigen webserver ligt :)
 
kan ik dit veranderen of ergens aanzetten?
 
waar kan ik dit vinden in me FTP ik vind alleen .htaccess
maar php.ini vind ik nergens in geen enen map
 
Hmm, als je een account host bij een webprovider dan moet je bij hun zijn.

Je kunt er alleen bij als je volledige rechten op de server hebt, namelijk...
Waarschijnlijk hebben ze het echter om veiligheidsredenen uitgezet en zullen ze het ook niet zomaar voor je aan zetten.
 
is er dan nog een anderen methode om die url toch te laten werken?
 
Je kunt een socket gebruiken om een HTTP request te versturen en het antwoord uitlezen.

PHP:
function http_get($url, $user="", $password="")
{
  $parts	= parse_url($url);
  $fp		= fsockopen($parts['host'], $parts['port'] ? $parts['port'] : 80);
 
  $auth_header	= "";
  if ($user && $password)
  {
    $auth_header = "Authorization: Basic " . base64_encode("{$user}:{$password}") . "\r\n";
  }

  if ($fp === false)
  {
    return;
  }

  $query = $parts['query'] ? "?{$parts['query']}" : "";

  $out	= "GET {$parts['path']}{$query} HTTP/1.1\r\n"
	. "Host: {$parts['host']}\r\n"
	. "Connection: close\r\n"
	. $auth_header;
    
  fwrite($fp, $out);
  $contents = ""
  while (!feof($handle))
  {
    $contents .= fread($fp, 8192);
  }
  return $contents;
}

Je krijgt er nu ook nog de HTTP headers bij maargoed, die kun je er wel uit filteren. Je moet maar even kijken wat je precies terug gestuurd krijgt en wat je weg kunt gooien.
 
het is me all anders gelukt me hosting heeft de php,ini aangepast

maar ze waarschuwde voor hackers is er een beveiliging om Fopen alleen goed te laten kunnen verlopen?
 
Jij schrijft het script dus jij bepaalt precies wat er gebeurt. Alleen als de server waarvan je download of je eigen server door hackers "overgenomen" is zal het onveilig zijn. Voor de rest no problemo.
 
oh dus die meldingen zijn voor Rippers

ok in dat geval maak ik me geen zorgen ik maak alles zelf


edit: ik was erg scheel want ik heb de oplossing.
lees maar wat Eurobellen zeg het kan via database ook.

Om beveiliginsredenen staan sommige webservers het niet toe om een URL aan te roepen. Als jouw webserver deze beveiliging aan heeft staan kun je de URL van EuroBellen (om de pincode te controleren) niet aanroepen. Om dit probleem op te lossen kan er vanaf de EuroBellen server een script (URL) op jouw website worden aangeroepen. De technische werking wordt hierdoor iets ingewikkelder. Je zal om deze optie te gebruiken dus iets meer kennis van PHP moeten hebben. Gebruik deze optie niet als je weinig PHP kennis hebt of deze optie in zijn geheel niet begrijpt.

Als je deze optie wel wilt gebruiken roepen wij na iedere betaling op de achtergrond een URL (script) op jouw server aan. Aan deze URL wordt ook de pincode meegegeven. Je kunt in je eigen script de pincode ophalen met de PHP variabele $_GET['ebpin'].
 
Laatst bewerkt:
Hmm, mooi geregeld bij EuroBellen. Als je host de php.ini al heeft aangepast kun je zelf kijken wat je makkelijker vindt natuurlijk.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan