Support Forums

Full Version: FTP Secure without Db
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
French code

PHP Code:
FTP sécurisé en php sans base de donnée
///////////////////////
/// Configuration ///
///////////////////////
//Dans les variables login et pass, entrer la valeur Hashé en md5 du login et du pass que vous voulez mettre (par default md5 de TEST)
//Dans la variable dossier, entrer le chemin ou vous souhaitez que vos fichier soit uploadé. (par default /)
$utilisateur "098f6bcd4621d373cade4e832627b4f6";
$mdp "098f6bcd4621d373cade4e832627b4f6";
$dossier "";
//le logo du site doit être nomé logo.png et ce trouver a la racine du FTP
//fin de la configuration
// Récupération des données posté en POST
$login = (isset($_POST["login"])) ? $_POST["login"] : "";
$pass = (isset($_POST["pass"])) ? $_POST["pass"] : "";
$deconnexion = (isset($_POST["deconnexion"])) ? $_POST["deconnexion"] : "";
// Récupération des données des cookies
$login_cookie = (isset($_COOKIE["login"])) ? $_COOKIE["login"] : "";
$pass_cookie = (isset($_COOKIE["pass"])) ? $_COOKIE["pass"] : "";
//si la déconnexion existe on déconnect
if (!empty($deconnexion))
{
setcookie("login",""time()-60*60*24*30); //suppression des cookies
setcookie("pass",""time()-60*60*24*30);
header('Location: index.php'); //puis redirection vers l'index
}
//si les données en POST existes
if (!empty($login) && !empty($pass))
{
// Sécurise le login fourni, que magic_quotes_gpc soit sur on ou off
if( !get_magic_quotes_gpc() )
{
$login addslashes($login);
$pass addslashes($pass);
}
$login md5($login); //on Hash le login
$pass md5($pass); //on Hash le pass
setcookie("login"$logintime()+60*60*24*30);
setcookie("pass"$passtime()+60*60*24*30);
header('Location: index.php'); //puis redirection vers l'index
}
// Sinon on regarde si les cookies d'authentification sont présents
elseif (!empty($login_cookie) && !empty($pass_cookie))
{
// Sécurise le login et le pass fourni, que magic_quotes_gpc soit sur on ou off
if( !get_magic_quotes_gpc() )
{
$login_cookie addslashes($login_cookie);
$pass_cookie addslashes($pass_cookie);
}
if (
$login_cookie != $utilisateur || $pass_cookie != $mdp// vérification du login et du pass si mauvais, on affiche la page suivante:
{
echo
'
<html>
<head>
<title>FTP Service ERREUR!</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function verif_form()
{
if (document.forms.identification.login.value == "")
{
alert("Veuillez rentrer votre Nom.");
return(false);
}
else if (document.forms.identification.pass.value == "")
{
alert("Veuillez rentrer votre mot de passe.");
return(false);
}
else
{
return(true);
}
}
</script>
</head>
<body bgcolor="#EADD31">
<div align="left" style="position:absolute ">
<img src="logo.png" border="" />
</div>
<br />
<br />
<br />
<br />
<table width="75%" cellpadding="4" cellspacing="1" border="1" align="center">
<tr>
<td class="row1"><table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td colspan="2" align="center">
<br />
<div align="center">
<b><font face="Verdana" size="3" color="#F51000"><u>Bienvenue sur le Service FTP du site</u></font></b>
<br />
<br />
Problème de connexion: Utilisateur ou mot de passe inconnu
<br />
<br />
<form name="identification" action="index.php" method="post" enctype="multipart/form-data" onSubmit="return verif_form()">
Utilisateur<br />
<input type="text" name="login" size="16"><br /><br />
Mot de passe<br />
<input type="text" name="pass" size="16"><br /><br />
<input type="submit" name="envoyer" value="Connexion">
</form>
</div>
<br />
</td>
</tr>
</td>
</tr>
</table>
</body>
</html>
'
;
}
else
{
// Si tout est bon, on affiche le formulaire d'upload et on autorise à commencer l'upload
echo '
<html>
<head>
<title>FTP Service</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#EADD31">
<div align="left" style="position:absolute ">
<img src="logo.png" border="" />
</div>
<br />
<br />
<br />
<br />
<table width="75%" cellpadding="4" cellspacing="1" border="1" align="center">
<tr>
<td class="row1"><table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td colspan="2" align="center">
<br />
<div align="center">
<b><font face="Verdana" size="3" color="#F51000"><u>Connexion autorisée, envoi du fichier</u></font></b>
<br />
<br />
<form name="upload" action="index.php" method="post" enctype="multipart/form-data" onSubmit="return verif_form()">
<input type="file" name="fichier"><br />
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
<form name="deconnexion" action="index.php" method="post" enctype="multipart/form-data" onSubmit="return verif_form()">
<input type="submit" name="deconnexion" value="Déconnexion">
</form>
</div>
<br />
</td>
</tr>
</td>
</tr>
</table>
</body>
</html>
'
;
if(isset(
$_FILES['fichier']))
{
$fichier basename($_FILES['fichier']['name']); // Commencement de l'upload
//Si la fonction renvoie TRUE, c'est que ça a fonctionné
if(move_uploaded_file($_FILES['fichier']['tmp_name'], $dossier $fichier))
{
echo 
"<SCRIPT language=javascript>alert('Upload effectué avec succès')</SCRIPT>"//affiche si l'upload a marché
}
else
{
echo 
"<SCRIPT language=javascript>alert('Echec de l\'upload !')</SCRIPT>"//Si erreur dans l'upload on l'affiche
}
}
}
}
//sinon formulaire d'identification classique du départ
else
{
?>
<html>
<head>
<title>FTP Service</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function verif_form() {
if (document.forms.identification.login.value == '') {
alert("Veuillez rentrer votre Nom.");
return(false);
} else if (document.forms.identification.pass.value == '') {
alert("Veuillez rentrer votre mot de passe.");
return(false);
} else {
return(true);
}
}
</script>
</head>
<body bgcolor="#EADD31">
<div align="left" style="position:absolute ">
<img src="logo.png" border="" />
</div>
<br />
<br />
<br />
<br />
<table width="75%" cellpadding="4" cellspacing="1" border="1" align="center">
<tr>
<td class="row1"><table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td colspan="2" align="center">
<br />
<div align='center'>
<b><font face="Verdana" size="3" color="#F51000"><u>Bienvenue sur le Service FTP du site</u></font></b>
<br />
<?php //on retoune sur PHP pour ne pas que le client puissent voir le code suivant:
echo "votre IP est enregistré: ";
$ip $_SERVER["REMOTE_ADDR"];
echo 
$ip//bleuf aucune IP est sauvegardé, mais possibilité de le faire
?>
<br />
<br />
<br />
<form name="identification" action="index.php" method="post" enctype="multipart/form-data" onSubmit="return verif_form()">
Utilisateur<br />
<input type="text" name="login" size="16"><br /><br />
Mot de passe<br />
<input type="text" name="pass" size="16"><br /><br />
<input type="submit" name="envoyer" value="Connexion">
</form>
</div>
<br />
</td>
</tr>
</td>
</tr>
</table>
</body> 
At least all code is written in English; the only French is the echo text & comments Roflmao