Comment connaitre le type d'un fichier sur UNIX* ?

  • Par: jack
  • Le: 31.03.2009 18:18:35
  • Dans: PHP

Lorsque vous exécutez la commande native Unix "file nom_fichier", elle renvoie des informations sur le fichier spécifié. En effet, le type MIME d'un fichier uploadé est fourni par le client web, ce qui constitue un trou de sécurité facile à contourner pour un pirate.

Voici le code qu’il faut utiliser :

<?
if(is_uploaded_file($userfile))
{
   if(!ereg("text",exec(escapeshellcmd("file $userfile"))))
{
      unlink($userfile);
      echo "Désolé, seuls les fichiers texte sont autorisés !";
   } else
{
   move_uploaded_file($userfile, "/upload");
}
?>

 


Comment convertir une chaine en majuscule ou minuscule

  • Par: jack
  • Le: 30.03.2009 20:16:00
  • Dans: PHP
Il vous suffit d’utiliser  les fonctions srttolower() et strtoupper().

Voice un exemple avec le code suivant:

<?php

$chaine="MiXeD CaSe";

$echo strtolower($chaine);

$echo strtoupper($chaine);

?>

Publicité




Tri d'un tableau bi-dimensionnel

  • Par: jack
  • Le: 28.03.2009 16:35:38
  • Dans: PHP
Voici le code permettant de trier un tableau comportant plusieurs colonnes en fonction d'une autre que la première.

<?php

// Initialisation d'un tableau de 2 colonnes

$tab[0]=array('mot'=> 'exemple', 'traduction' => 'example');

$tab[1]=array('mot'=> 'chien', 'traduction' => 'dog');

$tab[2]=array('mot'=> 'chat', 'traduction' => 'cat');

// Tri du tableau en fonction de la colonne traduction

asort($tab['traduction']);

// Copie dans un tableau nouveau tableau

// afin d'obtenir un tableau avec des index propres

$final=array();

$i=0;

foreach($tab['traduction'] as $cle => $valeur) {

$final['mot'][$i]=$tab['mot'][$cle];

$final['traduction'][$i]=$tab['traduction'][$cle];

$i++;

}

?>

Voila votre tableau trié en fonction de la seconde colonne. Attention toutefois, le tri est case-sensitive. Ce qui peut conduire à des résultats surprenants.

Sécuriser un formulaire en PHP

  • Par: jack
  • Le: 26.03.2009 19:10:57
  • Dans: PHP
Un formulaire est un outil indispensable pour récupérer des informations saisies par l'utilisateur sur un site Internet. Mais ces formulaires sont souvent la source de nombreux problèmes de sécurité.

Pour sécuriser un formulaire il faut considérer que n'importe quel champ de saisie doit obligatoirement faire l'objet de contrôles PHP. Bien que le JavaScript apporte un plus au niveau de l'ergonomie, celui-ci peut toujours être désactivé via le navigateur et n'est, par conséquent, pas fiable pour contrôler les saisies. Il est donc primordial d'effectuer ces contrôles en PHP.

La maîtrise de ces fonctions standards de PHP  vous aidera dans la sécurisation de vos formulaires.

    * strip_tags : Supprime les balises HTML et PHP d'une chaine de caractère

    * preg_replace : Remplace les caractères non désirés dans une chaine de caractère

    * preg_quote : Ajoute un anti-slash devant les caractères spéciaux des expressions rationnelles

    * mysql_real_escape_string : Ajoute des anti-slash devant les caractères spéciaux d'une commande SQL

    * htmlentities : Traduit les entités HTML dans une chaine de caractères

Programme de redirection

  • Par: jack
  • Le: 24.03.2009 19:47:53
  • Dans: PHP
La fonction Header de PHP permet de générer l’en-tête d’une page HTML. Cette fonction s’avère utile pour gérer les renvois automatiques vers une autre page si on la couple avec la fonction Location :

Header(“Location : http://www.votresite.com/autrepage.html“ );

Exit;


Attention, la fonction Header doit être la première fonction à afficher quelque chose à l’écran. Cela veut dire que vous pouvez placer du code PHP avant cette fonction, mais qu’en aucun cas, ce code ne doit afficher la moindre chose à l’écran.

Hacher un mot de passe avec MD5

  • Par: jack
  • Le: 18.03.2009 20:02:24
  • Dans: PHP
Pour éviter que les internautes malveillants ne récupèrent les mots de passe des membres de votre site, il est fortement recommandé de les  hacher pour améliorer la sécurité de vos applications surtout pour les espaces membres.

Pour cela, il est possible d’utiliser la fonction MD5. Celle-ci vous retournera une chaîne de 32 caractères hexadécimaux (128 bits).

Utilisez ce script :

<?
$mot_de_passe_hacher = MD5($mot_de_passe_original);
?>

Publicité




Transformer variables en tableau

  • Par: jack
  • Le: 16.03.2009 18:00:43
  • Dans: PHP

Il existe une fonction PHP qui permet de regrouper plusieurs variables en un seul tableau. Cette fonction utilise les noms des variables pour créer un tableau. Une fois transformé en tableau, le nom de variable devient alors la clef.

Voici un exemple de script qui vous permettra de  bien comprendre ce principe :

<?php
// Exemple avec un jeu de couleur
$couleur1 = "#000000";
$couleur2 = "#000011";
$couleur3 = "#000022";
$couleur4 = "#000033";

$tableauCouleur = compact("couleur1","couleur2","couleur3","couleur4");

// Affichage du tableau
foreach($tableauCouleur as $clef => $element)
  echo $clef." => ".$element."<br>";
?>


Récupération de la valeur des cookies

  • Par: jack
  • Le: 13.03.2009 20:02:31
  • Dans: PHP

Les valeurs des cookies valides et disponibles sont automatiquement stockées dans le tableau

$HTTP_COOKIE_VARS.

Selon la configuration de votre serveur, elles sont également stockées dans la variable correspondant au nom du cookie.

Ainsi, on affichera cette valeur soit par:

echo $nomdusite;
soit, de manière plus rigoureuse, par:

echo $HTTP_COOKIE_VARS[ "nomdusite"];


Ajouter du PHP dans vos feuilles CSS

  • Par: jack
  • Le: 10.03.2009 20:09:54
  • Dans: PHP
Dans le but d’assurer une maintenance facile des sites web, les développeurs  choisissent maintenant de séparer le fond (code HTML)  et la forme (feuille de style CSS et Javascript).Nous verrons ici comment ajouter du PHP dans vos CSS.  Pour cela nous utiliserons trois méthodes suivantes:

1- Inclure un fichier PHP avec la fonction "include()"

Ici vous allez inclure un fichier PHP contenant vos déclarations CSS qui pourront contenir tout le code PHP que vous voudrez à l'intérieur d'une balise style :

Méthode avec la fonction include()
<style type="text/css">
    <?php include('/styles.php'); ?>
</style>

2- Servir le contenu d'un fichier PHP en tant que "text/css"

Pour cette méthode, on  utilise toujours un fichier styles.php, mais cette fois, on le place à l'intérieur de la balise <link> :

Balise link
<link rel="stylesheet" href="/styles.php" type="text/css" />
Dans le fichier styles.php, il suffit d'ajouter une ligne pour indiquer au navigateur que le contenu doit être considéré comme du "text/css" :
Header PHP de content-type
<?php
    header('content-type: text/css');
?>

Lire et afficher le contenu d'un fichier

  • Par: jack
  • Le: 09.03.2009 19:56:46
  • Dans: PHP

Quel que soit le fichier, on peut le lire via le File System... Nous nous intéresserons ici aux fichiers contenant du texte, traditionnellement d'extension .txt mais on peut aussi utiliser les fichiers avec les extensions .html , .asp ou .php ... 

Nous choisissons de vous expliquer chaque ligne du code pour faciliter la compréhension.
En PHP, il faut :

Définir le fichier qui nous intéresse
<? $Fnm = "mon_dossier/mon_fichier.ext"; ?>
Vérifier que ce fichier existe bien
<? if (file_exists($Fnm)) { ?>
Ensuite lire tout le fichier d'un coup dans un tableau
<? $tableau = file($Fnm); ?>
Puis afficher ce tableau
<? while(list($cle,$val) = each($tableau)) {
   echo $val."<br>";
} ?>
Soit ouvrir le fichier
<? $inF = fopen($Fnm,"r"); ?>
Lire quelques caractères,  s'arrêter s'il rencontre \n avant la fin du fichier !
<? echo fgets($inF, 4096); ?>
La position du pointeur est dans :
<? $ptr = ftell($inF); ?>
et est modifiable par :
<? $ptr = fseek($inF,$ptr-10); ?>
ou lire tout le fichier jusqu'à la fin
<? while (!feof($inF)) {
   echo fgets($inF, 4096)."<br>";
} ?>
Enfin fermer le fichier
<? fclose($inF); ?>