le formule magiche

Soluzioni specifiche con le regole PHPSpecific solutions with PHP rules

Informazioni sull'accesso a queste risorse

Modulo di contatto per i membri
Per aiuto e segnalazioni

Membership index

Sezione nuova in allestimento.

NOTA: I download riservati ai membri possono essere effettuati anche senza registrazione con una piccola donazione a sostegno del sito.

Lista delle risorse scaricabili con donazione

Rassegna di soluzioni che utilizzano il codice PHP per la comunicazione con il server.

Close the login session after some time

Chiudere la sessione di login dopo un certo tempo

Codice:
<?php

$minutesBeforeSessionExpire=30; //time in minutes
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > ($minutesBeforeSessionExpire*60))) {
    session_unset();     // unset $_SESSION  
    session_destroy();   // destroy session data
}
$_SESSION['LAST_ACTIVITY'] = time(); // update last activity

?>

URL file protection

Protezione indirizzo file

Impostazioni del server, via php e htaccess, per evitare che l'utente possa accedere ad un file tramite link diretto.
PHP:
Aggiungere questo codice nel file.php (esempio per un file.pdf)
<?php
// The location of the PDF file
// on the server
$filename = "./file.pdf"; //add file path
 
// Header content type
header("Content-type: application/pdf");
 
header("Content-Length: " . filesize($filename));
 
// Send the file to the browser.
readfile($filename);
?>

HTML:
Nella pagina HTML inserire il link al file.php
es.: <a href="file.php">Titolo</a>
htaccess:
Creare un file .htaccess con la seguente regola per impedire l'accesso diretto al file.pdf:
<Files file.pdf>
Order allow,deny
Deny from all
</Files>

Content-type types:

Tipi di Content-Type:

  • Content-Type: text/html
  • Content-Type: text/plain
  • Content-Type: image/jpeg
  • Content-Type: application/zip
  • Content-Type: application/pdf
  • Content-Type: audio/mpeg

Differenza tra text/html e text/plain:
Considerando il seguente contenuto:

<p>test</p>

Il Content-Type: text/html verrà visualizzato nel browser come testo:

test

Il Content-Type: text/plain verrà visualizzato nel browser in formato HTML:

<p>test</p>

Download file zip protection

Protezione download file zip

Impostazioni del server, via php e htaccess, per evitare che l'utente possa accedere al download di un file zip tramite link diretto.
Nella pagina html inserite il link al file php.
Es: <a href="file.php">Download</a>
Contenuto del file.php:
$filename = "file.zip";  //add file name
$filepath = "./file.zip";  //add file path

if (file_exists($filepath)) {

        header("Pragma: public");
        header("Expires: 0");
        header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        header("Cache-Control: public");
        header("Content-Description: File Transfer");
        //We can likely use the 'application/zip' type, but the octet-stream 'catch all' works just fine.  
        header("Content-type: application/octet-stream");
        header("Content-Disposition: attachment; filename = $filename");
        header("Content-Transfer-Encoding: binary");
        header("Content-Length: ".filesize($filepath));

        while (ob_get_level()) {
             ob_end_clean();
        }

        @readfile($filepath);

        exit;
}

URL protection

Protezione URL

Lo script impedisce l'accesso alla pagina inserendo direttamente l'url nella barra del browser, o da link provenienti da domini non autorizzati. L'accesso alla pagina sarà possibile solo tramite link interni.
Aggiungere l'url del dominio (o domini separati da virgola) autorizzato come provenienza (referer) del link alla pagina php in cui lo script stesso si trova.
<?php
$referer = $_SERVER['HTTP_REFERER'];
$referer_parse = parse_url($referer);

if($referer_parse['host'] == "sitename.com" || $referer_parse['host'] == "www.sitename.com") {
     // Page content will display
} else {
     header("Location: ./page.html"); //page to redirect if user enters URL directly, or access from an unapproved domain
     exit();
}
?>

Membership index