Php

ricavare informazioni sul visitatore, indirizzo IP, Browser, provenienza ect... e salvarle su un file di testo "controllo_sito.txt"

codice:

<?Php
session_start();//Apriamo una sessione
session_register(ip);//Inseriamo una variabile chiamata IP
if ($ip==null){//Chiediamo se la variabile non esiste
$refe=$_SERVER['HTTP_REFERER'];//Chiediamo da quale sito proviene il visitatore
$ip=$_SERVER['REMOTE_ADDR'];//Prendiamo il numero IP del visitatore
$SERVER1=$_SERVER['PATH_TRANSLATED']; //oppure
$PERCORSO=$_SERVER['DOCUMENT_ROOT']; //- da il percorso... esempio D:\dhfbch\www\...
$SCRIPT=$_SERVER['SCRIPT_FILENAME']; //- Il nome dello script richiesto dall'utente
$INFO=$_SERVER['SERVER_SOFTWARE']; //- per avere le info del server tipo apache ecc
$time=time();//Apriamo una variabile data
$date=date('d-m-y h:i:s',$time);//creiamo il formato data
$var=fopen("controllo_sito.txt","a+");//Apriamo/creiamo il file salvataggio dati (Verificate l'indirizzo!!!)
@fwrite($var, "Numero ip: ".$ip." provenienza:".$refe." Data e ora: ".$date."n");//Salviamo i dati raccolti
@fclose($var);
}
?>

//per evitare l'esecuzione di una riga basta commentarla ed inserire due slash prima del segno del dollaro.

 

Pagina di accesso/login con il metodo cookie non necessita di database 

In quest script ci serviamo del metodo "_POST" per verificare il valore delle variabili.
Definiamo il valore "demo" alle variabili $username e $password
lo script verifica se le variabili corrispondono o meno al valore da noi specificati.
Vediamo il codice:

<?
if ($_POST["login"] != "")
{
$username = $_POST["username"];
$password = $_POST["password"];
if ($username == "demo" && $password == "demo")

{
echo '<p align="center">Benvenuto!</p><br><br>';

echo '<p align="center"><a href=http://www.nomesito.com>ENTRA</a></p>';
}
else
{
echo '<p align="center">Accesso Negato!<br> inserire nome utente e password validi</p>';
}
}
?>

 

Invia una email con php

// nel link ?riportato il codice intero

<?php
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$citta = $_POST['citta'];
$messaggio = $_POST['testo'];
$email = $_POST['mail'];
if (trim($_POST['nome']) == "")
{
die ("Campo 'Nome' obbligatorio");
}
if (trim($_POST['cognome']) == "")
{
die ("Campo 'Cognome' obbligatorio");
}

if (trim($_POST['citta']) == "")
{
die ("Campo 'Citta' obbligatorio");
}
if (!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $email))
{
die( "Errore: &egrave; Indirizzo e-mail inserito non ?valido");
}
if ($messaggio == null)
{
die( "Errore: &egrave; necessario compilare il campo 'Messaggio'");
}
print("<font size='13'>Invio Messaggio<br><br /></font>");
print("<font size='2'>se le informazioni inserite sono corrette sarai ricontattato <br>
al piu' presto  <br><br /></br></font>");
print("<b><br />Questi sono i dati che hai inserito:<br /><br /><br/></b>
Nome: <b>$nome</b><br />
Cognome: <b>$cognome</b><br />
Citta: <b>$citta</b><br />
E-mail: <b>$email</b><br />
Messaggio: <b>$messaggio</b><br />");
// Processo di configurazione dell'email
// [Destinatario, mittente, ecc]
$mail_to = "nomeutente@dominio"; //inserire indirizzo mail a cui inviare il messaggio
$mail_from = $email;
$mail_subject = "quello che ti pare"; //oggetto del messaggio
$reply = $email;
$mail_body = "<p><font size='3' font color=#000000>$nome</p>
<p>$cognome</p>
<p>$citta</p>
<p>$email</p><br><br><br>
<p>$messaggio</font></p>";
// Intestazioni HTML
$mail_in_html = "MIME-Version: 1.0\r\n";
$mail_in_html .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail_in_html .= "From: <$mail_from>";
// Processo di invio
ini_set("SMTP","out.dominio.it"); //inserire le impostazioni della posta in uscita
ini_set("smtp_port","25");
ini_set("sendmail_from",""); //inserire tra i due apici un tuo indirizzo mail
if (mail($mail_to, $mail_subject, $mail_body, $mail_in_html, $reply))
print " ";
print " ";
print " ";
print "Messaggio inviato con successo!";
else
{
die ("Errore...torna indietro e riprova!");
}
?>

 



Pagina di login php con il metodo _POST e connessione al database Mysql

//creazione del form con i campi username e password

<form action="login.php" method="post" name="login">
<input type="text" value="Username" size="20" maxlength="20" name="username" /><br />
<input type="password" value="Password" size="20" maxlength="20" name="password" /><br />
<input type="submit" value="Login" name="Submit" />
</form>

//creazione del file login.php e connessione al database Mysql

<?php
//eseguo la connessione al database
$connection = mysql_connect( 'localhost', 'nomeutente', 'password') or die('Impossibile connettersi al server' );
mysql_select_db('database_name', $connection) or die(Errore! Connessione Fallita');
$username=mysql_real_escape_string($_POST['username']); //faccio l'escape dei caratteri dannosi
$password=mysql_real_escape_string($_POST['password']); //ripeto l'escape dei caratteri dannosi
//Seleziono ed Eseguo la query nella tabella utenti verificando se esiste l'username e password corrispondente
$query = mysql_query("SELECT username, password FROM $tabreg WHERE username = '$username' AND password = '$password'");
while($row = mysql_fetch_array($query)) {
$username = $row['username'];
$password = $row['password'];
}
//se esegue la query entra nell'IF
if(mysql_num_rows($result) == 1)
{
//metto l'username nella variabile di sessione "username"
$_SESSION['username'] = $username;
//Faccio il redirect nella pagine enter.php
echo "<script>
window.location = \"enter.php\"
</script>";
}
else
{
//Faccio il redirect nella pagine riprova.php
echo "<script>
window.location = \"riprova.php\"
</script>";
}

?>

Invio email con allegato

<?php
session_start(); //inizio la sessione

$nome = $_POST[nome];
$cognome = $_POST[cognome];
$mess = $_POST['note'];
$messaggio = str_replace("<br />","\n\n",$mess);
//$allegato = $_POST['allegato'];
$connection = mysql_connect( 'localhost', 'nomeutente', 'password') or die('Impossibile connettersi al server' );
mysql_select_db('database_name', $connection) or die(Errore! Connessione Fallita');

// settiamo alcune variabili coinvolte nello script:
// 1) settiamo la cartella in cui fare l'upload
$cartella_upload ="/upload/";

// verifichiamo che l'utente abbia selezionato un file
if (!is_uploaded_file($_FILES['allegato']['tmp_name'])) {
echo '<script type="text/javascript">
<!--
alert("Nessun file caricato!");
window.open("index.php","_blank");
// -->
</script>';
exit;
} else {
// recupera le informazioni del'immagine
list($width, $height, $type, $attr) = getimagesize($_FILES['allegato']['tmp_name']);
// controlla peso un byte
if($_FILES['allegato']['size'] > 2048576) {
echo '<script type="text/javascript">
<!--
alert("Attenzione! \n il file non deve essere superiore ad 2Mb!");
window.open("index.php","_blank");
// -->
</script>';
exit;
//unlink($_FILES[['allegato']['tmp_name']);
}
// controlla formato
// elseif (($width > 150) || ($height > 180)) {
elseif (($width > 550) || ($height > 640)) {
echo '<script type="text/javascript">
<!--
alert("Attenzione!\n Dimensioni valide 550 x 640");
window.open("index.php","_blank");
// -->
</script>';
exit;
//unlink($_FILES[['allegato']['tmp_name']);
}
//controlla che il file sia un'immagine
//1 è gif 2 è jpeg 3 è png
elseif (($type != 1) && ($type != 2) && ($type != 3)){
echo '<script type="text/javascript">
<!--
alert("Attenzione!\nFormato del file non valido\n selezionare un file immagine(.gif - .jpeg - .png)");
window.open("index.php","_blank");
// -->
</script>';
exit;
//controlla se sullo spazio sia già presente il file
//upload è il nome della cartella dove salvare il file immagine
} elseif (file_exists('/upload/'.$_FILES['allegato']['name'])){
echo '<script type="text/javascript">
<!--
alert("Attenzione!\nEsiste un file con questo nome\n rinominare il file");
window.open("index.php","_blank");
// -->
</script>';
exit;
}
// verifichiamo che la cartella di destinazione settata esista
else if(!is_dir($cartella_upload))
{
echo '<script type="text/javascript">
<!--
alert("Attenzione! la cartella selezionata non esiste");
window.open("index.php");
window.close();
// -->
</script>';
exit;
}

///////////////////////////////////////////////////////////////////////////////////////////

//parametri di sessione

$nome = $_SESSION['nome'];
$cognome = $_SESSION['cognome'];

$destinatario = "miaemail@runover.it";
//corpo email
$mail_body = "- Dati account -
Nome: $nome
Cognome: $cognome

// Processo di configurazione dell'email
// [Destinatario, mittente, ecc]
$mail_from = "miaemail@runover.it";
$oggetto = "allegato";
$intestazione .= "X-Priority: 3\r\n" ; //2 = urgente, 3 = normale, 4 = non urgente

// Valorizzo le variabili relative all'allegato
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];
// Creo 2 variabili che riempirò più avanti...
$headers = "From: " . $mail_from;
$msg = "";
// Verifico se il file è stato caricato correttamente via HTTP
// In caso affermativo proseguo nel lavoro...
if (is_uploaded_file($allegato))
{
// Apro e leggo il file allegato
$file = fopen($allegato,'rb');
$data = fread($file, filesize($allegato));
fclose($file);
// Adatto il file al formato MIME base64 usando base64_encode
$data = chunk_split(base64_encode($data));
// Genero il "separatore"
// Serve per dividere, appunto, le varie parti del messaggio.
// Nel nostro caso separerà la parte testuale dall'allegato
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Aggiungo le intestazioni necessarie per l'allegato
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed;\n";
$headers .= " boundary=\"{$mime_boundary}\"";
$headers .= 'Bcc: altraemail@runover.it' . "\r\n";
// Definisco il tipo di messaggio (MIME/multi-part)
$msg .= "This is a multi-part message in MIME format.\n\n";
// Metto il separatore
$msg .= "--{$mime_boundary}\n";

// Questa è la parte "testuale" del messaggio
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= $mail_body . "\n\n";
// Metto il separatore
$msg .= "--{$mime_boundary}\n";

// Aggiungo l'allegato al messaggio
$msg .= "Content-Disposition: attachment;\n";
$msg .= " filename=\"{$allegato_name}\"\n";
$msg .= "Content-Transfer-Encoding: base64\n\n";
$msg .= $data . "\n\n";
// chiudo con il separatore
$msg .= "--{$mime_boundary}--\n";
}
else
{
$msg = $messaggio;
}
// Invio la mail
if (mail($destinatario, $oggetto, $msg, $headers))
{
@move_uploaded_file($_FILES['allegato']['tmp_name'], '/upload/' . $_FILES['allegato']['name']);
$allegato_name = $_FILES['allegato']['name'];
# aggiorna dati al db
$sqlcl = "UPDATE foto SET allegato = '$allegato_name' WHERE username= '$username";
mysql_query($sqlcl) or die('Errore! Operazione non valida');
echo "<script>window.location=home.php';</script>";
}else{
'<script type="text/javascript">
<!--
alert("Errore! \n messaggio NON inviato!");
window.open("riprova.php");
window.close();
// -->
</script>';
exit;
}
}
?>