Ciao Ale, se conosci il nome del file puoi fare eccome, ci sono riuscita anche io con un semplicissimo script^^ cmq, questo è il codice che salva i messaggi nel file
Codice PHP:
<?php include ("gif.php"); ?>
<?php
$my_database_txt = 'xxxxxxx.txt';
//ricavo l'ora e la data odierna
$data_ora = date("d/m/Y H:i:s");
$ip = $_SERVER['REMOTE_ADDR']; //ip
if(isset($_POST['invia']))
{
if(!is_writable($my_database_txt)){
exit("il file non ha i permessi di scrittura!");
}
// riceviamo i dati e li filtriamo
$bad_char = array("|", "\r\n", "\r", "\n");
$nikname = str_replace($bad_char, "", $_POST['nikname']);
$urlsito = str_replace($bad_char, "", $_POST['urlsito']);
$email = str_replace($bad_char, "", $_POST['email']);
$messaggio = str_replace($bad_char, "", $_POST['messaggio']);
$img = str_replace($bad_char, "", $_POST['img']);
// apriamo il file
$open = fopen($my_database_txt, "a+");
if ($nikname=="") {
echo header("location: penelope_commentario.php?id=Errore_nome1");
} elseif ($messaggio=="") {
echo header("location: penelope_commentario.php?id=Errore_messaggio1");
}else {
// Ban ip
$bannati=array("173.208.175.250","188.218.25.159","89.210.57.37");
if(in_array($_SERVER['REMOTE_ADDR'],$bannati)) {
echo header("location: penelope_commentario.php?id=Errore_post");
$ctrl = 1;
}
// Controllo parolacce interamente realizzato da Bradiposo
$file = 'filtro.txt';
if(file_exists($file))
$parolacce= file($file,FILE_IGNORE_NEW_LINES);
else echo 'Il file non è raggiungibile...';
//controllo url
for ($i=0; $i < count($parolacce); $i++) {
$exp = explode($parolacce[$i], $urlsito);
if ($exp[0]!=$urlsito) {
$ctrl = 1;
//pag errore
echo header("location: penelope_commentario.php?id=Errore_url");
}
}
//controllo nome
for ($i=0; $i < count($parolacce); $i++) {
$exp = explode($parolacce[$i], $nikname);
if ($exp[0]!=$nikname) {
$ctrl = 1;
//pag errore
echo header("location: penelope_commentario.php?id=Errore_nome");
}
}
//controllo messaggio
for ($i=0; $i < count($parolacce); $i++) {
$exp = explode($parolacce[$i], $messaggio);
if ($exp[0]!=$messaggio) {
$ctrl = 1;
//pag errore
echo header("location: penelope_commentario.php?id=Errore_messaggio");
}
}
$txt = stripslashes($messaggio);
$stop_http=false;
$htmlContentString = $txt;
$pattern_http_href = '/(http:\/\/|href=[\'"](.*?)[\'"])/si';
if (preg_match_all($pattern_http_href,$htmlContentString,$matches,PREG_SET_ORDER)){
//come test:
//echo "<p>matches=";print_r($matches);
foreach ($matches as $val)
{
//come test:
//echo "<p>val[0]=".$val[0];
//echo "<p>val[1]=".$val[1];
//echo "<p>val[2]=".$val[2];
if ($val[0] == 'http://'){
$stop_http=true;
//come test:
//echo ("<script>alert('Errore: non è ammesso inserire url direttamente, utilizzare il bbcode!')</script>");
break;
}
}
}
if ($stop_http) {
echo header("location: penelope_commentario.php?id=Errore_link");
$ctrl = 1;
}
$stop=false;
$htmlContentString = $txt;
$pattern = '/<a[^>]*?href=[\'"](.*?)[\'"][^>]*?>(.*[^>]?)<\/a>/si'; // <-- OK
if (preg_match_all($pattern,$htmlContentString,$array_pattern,PREG_SET_ORDER)){
foreach ($array_pattern as $val) {
if ($val[2] != '[Link]'){
$stop=true;
break;
}
}
}
if ($stop) {
echo header("location: penelope_commentario.php?id=Errore_link1");
$ctrl = 1;
}
if( $ctrl == false ) {
$txt = stripslashes($messaggio);
fwrite($open, $nikname."|".$data_ora."|".$urlsito."|".$email."|".$txt."|".$img."|".$ip."\r\n");
$antispam = $_POST['antispam'];
if ($antispam != '') { die("errore antispam"); }
// chiudiamo il file
fclose($open);
// ritorniamo nella pagina di visualizzazione
echo header("location: penelope_commentario.php?id=conferma");
exit;
}
}
}
?>
Tu mi sai dire se c'è un bug e ovviamente come risolvere ^__________^
Grazie^^