Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 30-04-2007, 22:49
Psychopath
Avatar van Psychopath
Psychopath is offline
Ik zou graag een IP log bij willen houden bij mijn pic server van welk adres welk plaatje komt, maar ik ben nu al weken op zoek naar hoe ik dat het beste/makkelijkste kan doen, maar alles draai eigenlijk op niks uit.

Ik heb voor het oploaden een PHP script op mijn apache server.
Ik ben een ramp met PHP, ik kan net coes herkennen en een klein beetje aanpassen etc, zou iemand me een beetje kunnen helpen met het fixen van een log?
__________________
"Well if it’s from the internatz it must be true!" © Jamie Hyneman 27-5-2009
Met citaat reageren
Advertentie
Oud 30-04-2007, 23:00
freyk
Avatar van freyk
freyk is offline
Wat heb je al (laat eens wat code zien).

hint:
PHP-code:
$ipadres=$_SERVER['REMOTE_ADDR'];
echo 
"hallo, jouw ipadres is $ipadres
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.
Met citaat reageren
Oud 30-04-2007, 23:35
Psychopath
Avatar van Psychopath
Psychopath is offline
Citaat:
freyk schreef op 01-05-2007 @ 00:00 :
Wat heb je al (laat eens wat code zien).

hint:
PHP-code:
$ipadres=$_SERVER['REMOTE_ADDR'];
echo 
"hallo, jouw ipadres is $ipadres
PHP-code:
<font size=2>
In verband met recentelijk misbruik en de toekomstige bestrijding hiervan word het volgende adres minimaal 30 dagen opgeslagen en bewaard. <b><?php echo $_SERVER["REMOTE_ADDR"]; ?></b>
</font>
Wat betreft IP-check alleen dit, maarja, dat is een beetje loos als je het niet kan waar maken, voor de rest heb ik vele scripts gezocht op internet of uit andere pagina's geprobeerd te halen, vaak liep het dan vast op het wegschrijven in een/het bestand.

Ik heb ook iets geprobeerd met de log's van de apache module in WAMP, maar ik kon wel ongeveer de juiste variabele vinden alleen bij het instaleren crashte de gehele error log er bij dus...



Gelijk maar het hele php-script zoals het op het moment stabiel draait.

PHP-code:
<?php

$site_name 
$_SERVER['HTTP_HOST']; 
$url_dir "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']); 
$url_this =  "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; 


$upload_dir "stuff/"
$upload_url $url_dir."/stuff/"
$message =""




if (!
is_dir("stuff")) {
  die (
"file directory doesn't exist");
}

if (
$_FILES['userfile']) { 
  
$message do_upload($upload_dir$upload_url); 

else { 
  
$message ""


print 
$message

function 
do_upload($upload_dir$upload_url) { 

  
$temp_name $_FILES['userfile']['tmp_name']; 
  
$file_name $_FILES['userfile']['name']; 
  
$file_type $_FILES['userfile']['type']; 
  
$file_size $_FILES['userfile']['size']; 
  
$result    $_FILES['userfile']['error']; 
  
$file_url  $upload_url.$file_name
  
$file_path $upload_dir.$file_name

 
   if ( 
$file_name =="") {
      
$message "<font size=5><b>Uw bestand moet wel een naam hebben....</b></font>"
      return 
$message
   }

      
$result  =  move_uploaded_file($temp_name$file_path); 
   
$message = ($result)?"<center><font size=5><b>het uploaden is voltooid....<br><br> <a href=$upload_dir$file_name>$upload_url$file_name</a><br></font><font size=4 color=grey>[img]$upload_url$file_name[/img]</font><br><br> <IMG SRC=$upload_dir$file_name WIDTH=200> <font size=4><br><br><br>Onthoud de link goed, je kan namelijk niet zelf in de directory op zoek gaan!<br><br><br></center></font></b>" :
            
"Somthing is wrong with uploading a file."

   return 
$message;

?> 
<head>
<title>Psychopath's simple image server</title>
</head>
<body>
<font size=2>
In verband met recentelijk misbruik en de toekomstige bestrijding hiervan word het volgende adres minimaal 30 dagen opgeslagen en bewaard. <b><?php echo $_SERVER["REMOTE_ADDR"]; ?></b>
</font>
<br><br><br><br><br><br><br>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
  <b>Upload Image</b><input type="file" id="userfile" name="userfile">
 <input type="submit" name="upload" value="Upload">
</form>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<font size=1>
    <center>
        <b>Notice:</b><br>De eigenaar van deze webserver behoud zich het recht toe ieder plaatje op ieder moment te verwijderen.<br> Plaatjes met inhoud die in nederland bij wet strafbaar zijn (zoals kinderporno) zullen meteen worden verwijderd.<br> De eigenaar is niet aansprakelijk noch verantwoordelijk voor de inhoud van de plaatjes,<br> maar wel bereid om na overleg en een goede onderbouwing dingen te verwijderen.<br> <b>&#169 HJA de Reus, Januari 2007 
    </center>
</font>
</body>
Ik weet dat de filetype check er uit is, maar die gaf op een één of andere manier problemen bij sommige mensen met vrij groote plaatjes...
__________________
"Well if it’s from the internatz it must be true!" © Jamie Hyneman 27-5-2009

Laatst gewijzigd op 30-04-2007 om 23:50.
Met citaat reageren
Oud 01-05-2007, 08:38
freyk
Avatar van freyk
freyk is offline
Ik dacht aan het volgende coderegels die je toe kan voegen aan je scriptje.
Let wel op dat wel een mysql server nodig heeft en dat het nog niet getest is.

PHP-code:
##############
# Script: ff inloggen bij een database, zooi registreren
# Auteur: Freyk van forum.scholieren.com
# Versie: 0.1
##############

# als alles goed is upgeload 
  
if ( $result =="1") {
# doe dan het volgende:

#Gebruik de volgende gegevens om in te loggen bij een database
$server="localhost"// locatie van de server
$database="Psychopathsdatabase"//naam van de database
$gebruikersnaam="piet"//gebruiker
$wachtwoord="mijnwachtwoord"//wachtwoord
$tabel="picsregistratie"//tabel

#zoek ipadres op van de klant
$ipadres=$_SERVER['REMOTE_ADDR'];

# Maak contact met databaseserver
mysql_connect($server,$gebruikersnaam,$wachtwoord)or die( "Kan geen contact maken met $server");

# Maak contact met database op de server server
@mysql_select_db($database) or die( "Kan geen contact maken met $database");

#voer waardes in de aangegeven tabel van de database
# tabel picsregistratie moet er als volgt uitzien: 
# |registratienummer|bestandsnaam|groote|url
# |path|uploaddir|ipadres
$afbeeldingregistereren "INSERT INTO $tabel VALUES ('','$file_name','$file_type','$file_size','$file_url','$file_path','$upload_dir','$ipadres')";
# voer quary uit  
mysql_query($afbeeldingregistereren);

#sluit de verbinding tussen de database af
mysql_close();
   }; 
Dit is de basis die je verder uit kan bouwen.
Ik zal later ff verder naar je script kijken.
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.

Laatst gewijzigd op 01-05-2007 om 09:07.
Met citaat reageren
Oud 01-05-2007, 09:44
Psychopath
Avatar van Psychopath
Psychopath is offline
Citaat:
freyk schreef op 01-05-2007 @ 09:38 :
Ik dacht aan het volgende coderegels die je toe kan voegen aan je scriptje.
Let wel op dat wel een mysql server nodig heeft en dat het nog niet getest is.

PHP-code:
##############
# Script: ff inloggen bij een database, zooi registreren
# Auteur: Freyk van forum.scholieren.com
# Versie: 0.1
##############

# als alles goed is upgeload 
  
if ( $result =="1") {
# doe dan het volgende:

#Gebruik de volgende gegevens om in te loggen bij een database
$server="localhost"// locatie van de server
$database="Psychopathsdatabase"//naam van de database
$gebruikersnaam="piet"//gebruiker
$wachtwoord="mijnwachtwoord"//wachtwoord
$tabel="picsregistratie"//tabel

#zoek ipadres op van de klant
$ipadres=$_SERVER['REMOTE_ADDR'];

# Maak contact met databaseserver
mysql_connect($server,$gebruikersnaam,$wachtwoord)or die( "Kan geen contact maken met $server");

# Maak contact met database op de server server
@mysql_select_db($database) or die( "Kan geen contact maken met $database");

#voer waardes in de aangegeven tabel van de database
# tabel picsregistratie moet er als volgt uitzien: 
# |registratienummer|bestandsnaam|groote|url
# |path|uploaddir|ipadres
$afbeeldingregistereren "INSERT INTO $tabel VALUES ('','$file_name','$file_type','$file_size','$file_url','$file_path','$upload_dir','$ipadres')";
# voer quary uit  
mysql_query($afbeeldingregistereren);

#sluit de verbinding tussen de database af
mysql_close();
   }; 
Dit is de basis die je verder uit kan bouwen.
Ik zal later ff verder naar je script kijken.
Ik heb de mysql server tot nu toe uit staan, ik zal er eens naar kijken ik daar een database in kan maken, maar dat is helemaal nieuw voor mij dus...
__________________
"Well if it’s from the internatz it must be true!" © Jamie Hyneman 27-5-2009
Met citaat reageren
Oud 01-05-2007, 13:10
freyk
Avatar van freyk
freyk is offline
Ik zie dat WAMP ook een phpmyadmin-module heeft.
Hiermee kan je snel en makkelijk je mysql-server mee beheren.
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.
Met citaat reageren
Oud 01-05-2007, 13:15
M@rco
Avatar van M@rco
M@rco is offline
Ik vind een MySQL database nou niet echt voor de hand liggen om een simpel IP adres te loggen. Je kunt volgens mij net zo makkelijk gewoon de naam van de geüploade afbeelding en het bijbebehorende IP adres wegschrijven naar een eenvoudig tekstbestand.

Bijv. zoiets:

PHP-code:
$ipadres $_SERVER['REMOTE_ADDR'];
$logfile 'log.txt';
$content "Bestand $file_name is geupload door $ipadres.\n";

// Laten we eerst controleren of het bestand bestaat en of we er in kunnen schrijven.
if (is_writable($logfile))
{
    
// In ons voorbeeld openen we $logfile in 'toevoeg' modus.
    // De bestands pointer is aan het einde van het bestand
    // en daar gaat $content naar toe als we het fwrite()'en.
    
if (!$handle fopen($logfile'a'))
    {
        print 
"Kan het bestand niet openen ($logfile)";
        exit;
    }

    
// Schrijf $somecontent naar ons bestand dat we geopend hebben.
    
if (!fwrite($handle$content))
    {
        print 
"Kan niet schrijven naar bestand ($logfile)";
        exit;
    }

    print 
"Succes, geschreven ($content) naar bestand ($logfile)";
    
fclose($handle);
}
else
{
    print 
"Het bestand $logfile is niet schrijfbaar";

__________________
What experience and history teach is this — that people and governments never have learned anything from history, or acted on principles deduced from it.

Laatst gewijzigd op 01-05-2007 om 13:27.
Met citaat reageren
Oud 01-05-2007, 13:40
freyk
Avatar van freyk
freyk is offline
Citaat:
M@rco schreef op 01-05-2007 @ 14:15 :
Ik vind een MySQL database nou niet echt voor de hand liggen om een simpel IP adres te loggen. Je kunt volgens mij net zo makkelijk gewoon de naam van de geüploade afbeelding en het bijbebehorende IP adres wegschrijven naar een eenvoudig tekstbestand.
Klopt, dat is ook veel handiger
Maar werken met een mysql servertje is veiliger.
Want op jouw manier haal je met wget -R www.sitevanPsychopath.nl, zo zijn logje binnen.
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.
Met citaat reageren
Oud 01-05-2007, 18:24
Psychopath
Avatar van Psychopath
Psychopath is offline
Citaat:
freyk schreef op 01-05-2007 @ 14:40 :
Klopt, dat is ook veel handiger
Maar werken met een mysql servertje is veiliger.
Want op jouw manier haal je met wget -R www.sitevanPsychopath.nl, zo zijn logje binnen.
ook als ik die in een andere directory zet met een .htacces bestand?
__________________
"Well if it’s from the internatz it must be true!" © Jamie Hyneman 27-5-2009
Met citaat reageren
Oud 01-05-2007, 18:28
freyk
Avatar van freyk
freyk is offline
niet getest, maar neem aan van wel.
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.
Met citaat reageren
Oud 01-05-2007, 18:41
M@rco
Avatar van M@rco
M@rco is offline
Ik kan me niet voorstellen dat iemand dat zou doen (en al deden ze het, so what?)...
__________________
What experience and history teach is this — that people and governments never have learned anything from history, or acted on principles deduced from it.
Met citaat reageren
Oud 01-05-2007, 18:43
Psychopath
Avatar van Psychopath
Psychopath is offline
Citaat:
freyk schreef op 01-05-2007 @ 19:28 :
niet getest, maar neem aan van wel.
je mag het testen als je wil.

Citaat:
M@rco schreef op 01-05-2007 @ 19:41 :
Ik kan me niet voorstellen dat iemand dat zou doen (en al deden ze het, so what?)...
Dan weten ze wie welk plaatje heeft geupload, maar om de plaatjes te bekijken moeten ze dan telkens de bestandsnaam intypen omdat de dir met de plaatjes een no index heeft staan in de .htaccess.
__________________
"Well if it’s from the internatz it must be true!" © Jamie Hyneman 27-5-2009
Met citaat reageren
Oud 01-05-2007, 18:47
freyk
Avatar van freyk
freyk is offline
Citaat:
Psychopath schreef op 01-05-2007 @ 19:43 :
je mag het testen als je wil.
ff getest bij iemand,..ik krijg een hele mooie melding:
401 Authorization Required
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.
Met citaat reageren
Oud 01-05-2007, 19:16
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
ja tuurlijk krijg je 401 anders zou je wel heeeel makkelijk zo'n beveiliging omzeilen. Een .htaccess is een van de meest veilige manieren om toegang tot data te beveiligen.

Verder is het schrijven naar een bestand imo kut, dan leg je een "database" aan in een tekstbestand, dat is echt niet praktisch. Waarom zou je t niet gewoon in een mysql db stoppen. Als je straks 2000 regels in je ding hebt en je wil weten hoe vaak een bepaalde ip bestanden heeft geupload doe je dat zeker met ctrl-f
En het wordt helemaal leuk als je wil weten hoe vaak een bepaalde range upload

En freyk, waarom onderdruk jij errors met een @ errors zijn gemaakt om ze op te vangen en er iets nuttigs mee te doen
Met citaat reageren
Oud 01-05-2007, 20:21
freyk
Avatar van freyk
freyk is offline
Citaat:
Dr HenDre schreef op 01-05-2007 @ 20:16 :
Als je straks 2000 regels in je ding hebt en je wil weten hoe vaak een bepaalde ip bestanden heeft geupload doe je dat zeker met ctrl-f
En het wordt helemaal leuk als je wil weten hoe vaak een bepaalde range upload
Och, daar draai ik mijn hand niet voor om, dankzij GAWK.
Sterker nog, heb ooit eens een firewall log van 5 gb in 10 seconden kunnen filteren.

Citaat:
Dr HenDre schreef op 01-05-2007 @ 20:16 :
En freyk, waarom onderdruk jij errors met een @ errors zijn gemaakt om ze op te vangen en er iets nuttigs mee te doen
Och, tis ook snel geschreven he.
Heb nog geen tijd gehad om het verder uit te werken.
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.

Laatst gewijzigd op 01-05-2007 om 20:39.
Met citaat reageren
Oud 01-05-2007, 20:34
Psychopath
Avatar van Psychopath
Psychopath is offline
Citaat:
Dr HenDre schreef op 01-05-2007 @ 20:16 :
ja tuurlijk krijg je 401 anders zou je wel heeeel makkelijk zo'n beveiliging omzeilen. Een .htaccess is een van de meest veilige manieren om toegang tot data te beveiligen.

Verder is het schrijven naar een bestand imo kut, dan leg je een "database" aan in een tekstbestand, dat is echt niet praktisch. Waarom zou je t niet gewoon in een mysql db stoppen. Als je straks 2000 regels in je ding hebt en je wil weten hoe vaak een bepaalde ip bestanden heeft geupload doe je dat zeker met ctrl-f
En het wordt helemaal leuk als je wil weten hoe vaak een bepaalde range upload

En freyk, waarom onderdruk jij errors met een @ errors zijn gemaakt om ze op te vangen en er iets nuttigs mee te doen
voorlopig hoef ik me nog niet echt zorgen te maken om 2000 regels als ik zie hoe snel hij nu loopt
__________________
"Well if it’s from the internatz it must be true!" © Jamie Hyneman 27-5-2009
Met citaat reageren
Oud 02-05-2007, 09:48
freyk
Avatar van freyk
freyk is offline
Als je M@rco's code gebruikt, raad ik nog ff aan om de "content" van de log aan te passen zodat het beter doorzoekbaar word.

PHP-code:
$datum date("Y-m-d");
$content "$datum $ipadres $file_name succesvol"
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.
Met citaat reageren
Oud 02-05-2007, 13:50
Psychopath
Avatar van Psychopath
Psychopath is offline
Citaat:
freyk schreef op 02-05-2007 @ 10:48 :
Als je M@rco's code gebruikt, raad ik nog ff aan om de "content" van de log aan te passen zodat het beter doorzoekbaar word.

PHP-code:
$datum date("Y-m-d");
$content "$datum $ipadres $file_name succesvol"
Dat had ik zelf ookal gedaan, dat kan ik nou nog net weer wel
__________________
"Well if it’s from the internatz it must be true!" © Jamie Hyneman 27-5-2009
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Software & Hardware Centraal spyware, adware & virussen topic [5]
M@rco
499 26-03-2008 13:10


Alle tijden zijn GMT +1. Het is nu 12:43.