begin process at 2012 05 27 18:29:36
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > SÉCURISÉ LES INCLUDES PAR GET

SÉCURISÉ LES INCLUDES PAR GET


 Information sur la source

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité & Cryptage Niveau :Initié Date de création :08/03/2005 Date de mise à jour :09/11/2005 15:13:32 Vu :4 212

Auteur : HyWaN

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Bonjour :)
Alors j'ai fais ce petit script pour sécurisé les includes par get, on ne peut pas remonter dans l'arborescence, mais des scripts cheloux qu'on aime pas ^^
Toutes idées pour améliorer le code sera la bienvenue :D

Source

  • <?php
  • ############
  • # function #
  • ############
  • function get_secure($var)
  • {
  • $str_get =
  • array(
  • "../", "./", "..\\", ".\\",
  • "%00", "<", ">", "!",
  • "\"", "'", "#", "$", "%",
  • "(", ")", "*", "+", ",",
  • "-", ":", ";", "=", "?",
  • "@", "[", "]", "\\", "^",
  • "`", "~", "?", "?" ,"?",
  • "%", "?"
  • );
  • foreach($str_get as $strbad)
  • {
  • $var = urlencode($var);
  • $var = str_replace($strbad, '', $var);
  • $var = strtr($var, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
  • "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn"
  • );
  • $var = htmlentities($var);
  • }
  • return urldecode($var);
  • }
  • #############
  • # index.php #
  • #############
  • // on the top of page
  • include(/*function*/);
  • foreach($_GET as $key => $value)
  • {
  • ${$key} = get_secure($value);
  • }
  • // so :
  • // $_GET['inc']; will be $inc;
  • ?>
<?php

############
# function #
############

function get_secure($var)
{
	$str_get =
		array(
			  "../", "./", "..\\", ".\\",
			  "%00", "<", ">", "!",
			  "\"", "'", "#", "$", "%",
			  "(", ")", "*", "+", ",",
			  "-", ":", ";", "=", "?",
			  "@", "[", "]", "\\", "^",
			  "`", "~", "?", "?" ,"?",
			  "%", "?" 
			 );
			 	
	foreach($str_get as $strbad)
	{
		$var = urlencode($var);
		$var = str_replace($strbad, '', $var);
		$var = strtr($var, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
						   "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn"
					);
		$var = htmlentities($var);
	}
	
	return urldecode($var);
}

#############
# index.php #
#############

// on the top of page
include(/*function*/);
foreach($_GET as $key => $value)
{
	${$key} = get_secure($value);
}
// so :
// $_GET['inc']; will be $inc;

?>

 Conclusion

Je n'ai montré ici qu'une seule facon de faire mais on peut sécurisé avec file_exists(); etc ... mais ce n'est pas le but de ma source ;o)


 Historique

08 mars 2005 10:05:02 :
08 mars 2005 17:43:41 :
09 mars 2005 13:27:21 :
09 novembre 2005 15:13:32 :
mise a jour des urls (les scripts n'existant plus)

 Sources du même auteur

Source avec une capture COLORISATION SYNTAXIQUE D'HTML
Source avec une capture COLORATION SYNTAXIQUE DE CSS
NOM DU FICHIER SANS L'EXTENSION

 Sources de la même categorie

Source avec Zip Source avec une capture CAPTCHA AJAX ANTI-BOT par darkvador59
Source avec Zip Source avec une capture ACCÈS, ESPACE MEMBRE AVEC INSCRIPTION ET DÉSINSCRIPTION PAR ... par stephelle
Source avec Zip CRYPTAGE REVERSIBLE par Mokost
Source avec Zip Source avec une capture CREATION DE COMPTE AVEC CRYPTAGE ET ESPACE DE CONNEXION SEC... par bm1982
PROTÉGEZ VOS LIENS DE TÉLÉCHARGEMENT PAR MOT DE PASSE ET/OU ... par unlien

Commentaires et avis

Commentaire de Kevin007 le 08/03/2005 17:19:01

Salut ;)

Dans $str_get tu fais :

$str_get = array( 'machin' => '', 'lol' => '' ); a chaque fois, pourquoi ne pas remplacer ton str_replace :

$var = str_replace($strbad, $strrepl, $var);

PAR :

$var = str_replace( $strbad, '', $var );

A+ ;)

Commentaire de HyWaN le 08/03/2005 17:32:42

parce que c'était pas tout le tps lol pis vue  que j'avais modifier le code bah j'avais pas fait gaffe ;)
merci lol ...(j'ai honte :p) je vais modifier ca ;o)

Commentaire de HyWaN le 08/03/2005 17:33:24

dsl avant les modifications j'en avais besoin mais c'est vrai que now ^^ merci je vais modifier ca :p

Commentaire de JoJo738 le 08/03/2005 17:52:07

Bonjour,
Alors tu peux faire :
    $str_get =
        array(
                '../', './', '..\\', '.\\',
                '%00', '<' => '&lt;', '>' => '&gt', '!',
                '\'', ''', '#', '$', '%',
                '(', ')', '*', '+', ',',
                '-', ':', ';', '=', '?',
                '@', '[', ']', '\\', '^',
                '`', '~', '¤', '&#8230;', '&#710;',
                '%', '&#8240;'
             );
                
        $var = str_replace($strbad, '', $var);
        $var = strtr($var, 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ',
                             'AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn'
                    );

Sinon bonne idée, et bon script.

Commentaire de fg85 le 08/03/2005 23:08:16

Je suis ravis bravo ! 9/10
Car j'utiliserai plutot :
$var = str_replace($strbad, '', $var);
        $var = strtr($var, 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ',                        'AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn'
-------------------------------------------
http://fg.logiciel.free.fr

Commentaire de Kirua le 09/03/2005 07:37:22

Si le problème ce sont les accents, autant utiliser url_encode / url_decode. Si ce que tu veux c'est empêcher les inclusions sauvages, suffit de lister les pages autorisées dans un tableau, c'est ce qu'il y a de plus sûr.

Commentaire de HyWaN le 09/03/2005 13:21:40

uè c'est sur mais si t'as un site comme le mien ou tu as 1500 fichiers :s bah t'as pas fini ^^ lol
c'est vrai on peut faire des scrips de listage etc ... mais je prend note de vos remarques ;o) merci et bonne apétit :D

Commentaire de Kirua le 09/03/2005 14:48:42

si t'as 1500 pages possibles, ben trouve un autre système (tu peux par exemple factoriser par catégorie).

Commentaire de HyWaN le 09/03/2005 14:51:47

ok merci j'y penserais ;o)
merci bcp :)

Commentaire de MATHIS49 le 03/06/2005 01:35:29

Ca vas mettre utile merci, je te met 9 !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales