Belépés
xampp
Szaisztok!
Ubuntu 8.10-et használok, s felraktam a gépre a xampp szervercsomagot.
Innen jött az ötlet, hogy majd jó lesz nekem:
http://www.tutorial.hu/xampp-telepitese-ubuntu-alatt/
Igazából működik is, bár érdekes, hogy semmi apt, illetve synaptic sem kellett hozzá, sőt amikor nézem a synaptic listáját egyáltalán nem szerepel apache fájlok mellett, hogy fel lenne telepítve, mégis fut rendese, a /opt/lampp/htdocs mappába másoltakat megjeleníti.
Viszont olyan kérdésem lenne, hogy próbáltam egy olyat, hogy a php egy txt filébe írja a látogató ip-címét. Jelen esetben ez 127.0.0.1 hiszen csak én látom a szervert, révén hogy router mögött van.
Ha a fopen() függvényhez ér ezt írja ki:
Warning: fopen(ipcimek.txt) [function.fopen]: failed to open stream: Hozzáférés megtagadva in /opt/lampp/htdocs/test/ip_check2.php on line 7
Hiba a megnyitas soran.
Kérdésem az lenne, hogy ez most szerverbeállítási hiba, hogy nincs engedélyezve a függvény, avagy rossz a kód, vagy amiatt nem engedi, hogy módosítsa a filét, hogy a /opt könyvtárban van s itt nincs joga átírni, mert ott ugye csak root-ként módosíthatok dolgokat, vagy valami más amire nem gondolok.
Itt a kód:
<?php
$ip = getenv("REMOTE_ADDR");
$fileneve = "ipcimek.txt";
if(!$fd = fopen($fileneve, "w")) //ez a hetedik sor ahol a hibát irja
{
echo("Hiba a megnyitas soran.");
exit;
}
if(!fwrite($fd, $ip))
{
echo("Hiba tortent iras soran!");
exit;
}
fclose($fd);
?>
A helyeik:
/opt/lampp/htdocs/test/iphack.php
/opt/lampp/htdocs/test/ipcimek.txt
Előre is köszi.
- A hozzászóláshoz regisztráció és belépés szükséges
sudo chmod 777 /opt/lampp/htdocs/test/ipcimek.txt
Ugyanakkor meglátásom szerint 1 ip -t csak egyszer jegyezzen be:
<?php
$log = '/mappa/ipcimek.txt';
$IP = getenv (REMOTE_ADDR);
$add = true;
$hits = 0;
if (!file_exists ($log)) {
//echo "Hiba: $log nem létezik.";
exit;
}
$h = fopen ($log, 'r');
while (!feof ($h)) {
$line = fgets ($h, 4096);
$line = trim ($line);
if ($line != '')
$hits++;
if ($line == $IP)
$add = false;
}
fclose($h);
if ($add == true) {
$h = fopen ($log, 'a');
fwrite($h, "$IP");
fclose($h);
$hits++;
}
?>
Sevoir visszatért, tapsvihar.
A kód így lefutott. Köszönöm szépen.
Akkor az volt a gond, hogy nem volt jogosultsága, mert ha jól tudom, akkor ezzel a paranccsal megadok mindenkinek minden jogot az ipcimek.txt-hez.
Így van. amit le is tudsz ellenőrizni az ls -l paranccsal is.
De írtam mást is... hasznosabb szvsz..
Sevoir visszatért, tapsvihar.