| auteur : Cyberzoide |
PHP
fournit de nombreuses fonctions d'affichage du contenu de
fichier, variables, tableau... qui malheureusement affichent
directement à l'écran le contenu utile. Or dans certains cas,
il serait très utile de pouvoir récupérer l'information dans
une variable.
Pour cela, il reste à rediriger le
flux de sortie standard
vers un buffer
que l'on pourra vider dans une variable de
type
String.
PHP offre les moyens d'une telle redirection :
|
| auteurs : Gérard Ernaelsten, Thes32, dourouc05 |
Pour générer un identifiant unique, il vous faut uriliser la fucntion uniqid(). Cela créera un identifiant unique de 13 caractères.
Vous pouvez préfixer votre identifiant.
$ id_unique = uniqid(' Mon_Unique_id_ ' );
echo $ id_unique ;
|
Vous pouvez passer de 13 à 23 caractères.
$ id_unique = uniqid(NULL , true );
echo $ id_unique ;
$ id_unique = uniqid(' mon_id_a_moi ' , true );
echo $ id_unique ;
|
Pour augmenter le degré d'unicité de la question, on peut utiliser les fonctions de hashage MD5 ou SHA1, SHA1 produisant des empreintes plus grandes.
On peut aussi utiliser la fonction mt_rand() pour changer la graine utilisée.
|
| auteur : Nonothehobbit | La nouvelle version de PHP est configurée par défaut pour afficher toutes les erreurs (même les "notices" (avertissement)) et avec le paramètre "register_globals" à off.
En ce qui concerne register_globals, cela signifie que vous ne pouvez plus accéder directement aux variables de session, postées par formulaire ou même venant de la barre d'adresse. Il vous faudra passer par des tableaux "superglobaux". Voici les différent tableaux :
Pour les sessions : $_SESSION['ma_variable'] au lieu de $ma_variable
Pour la barre d'adresse : $_GET['ma_variable'] au lieu de $ma_variable
Pour les variable postées par formulaire : $_POST['ma_variable'] au lieu de $ma_variable
Pour les cookies : $_COOKIE['ma_variable'] au lieu de $ma_variable
Pour les fichiers envoyés par formulaire : $_FILES['ma_variable'] au lieu de $ma_variable
Tableau regroupant toutes les données envoyées (barre d'adresse, formulaire et cookie) : $_REQUEST['ma_variable'] au lieu de $ma_variable
Les informations de serveur : $_SERVER['ma_variable'] au lieu de $ma_variable
Les informations d'environnement : $_ENV['ma_variable'] au lieu de $ma_variable
Pour l'affichage des "notices", il est conseillé de le laisser, car il vous informe des trous de sécurité de votre code comme les variable non déclarées ou les index de tableau non définis.
Par exemple pour tester l'existence d'une variable, utiliser if(isset($variable)) plutèt que if($variable) ou if(!empty($variable)).
De même, mettez des guillemets ou apostrophes dans les index non numériques des tableaux.
Ex : $tab["index"] à la place de $tab[index]
Voilà, je rappelle qu'il faut laisser ces paramètres tels quels sous peine d'avoir un code peu sécurisé et donc plus facilement vulnérable. Même si l'application n'est pas destinée au grand public (sur le web), il ne coûte rien de prendre l'habitude de programmer "propre" pour éviter les problèmes à venir.
|
lien : Les tableaux superglobaux
|
| auteur : Cyberzoide | C'était possible en PHP3 sous un shell (Unix ou MS-DOS):
On obtenait ainsi un script .php3p (p pour pretokenized). Le but était de cacher le code source et pas d'en rendre l'exécution plus rapide.
Pour l'exécuter en ligne de commande :
Et via Apache, il faut ajouter dans le fichier de configuration /usr/local/apache/conf/httpd.conf la ligne suivante :
AddType application/ x- httpd- php3 . php3p
|
Mais ceci n'existe plus en PHP4.
Il existe cependant des logiciels d'encodage ou de cryptage, mais ils sont payants (ioncube.com, Zend, etc.). L'un de ces programmes est une extension PHP : bcompiler.
|
lien : Tutoriels : Protéger son code source PHP avec bcompiler, par Maxime Ohayon
|
| auteur : Forum PHP |
Pour alterner les couleurs, il suffit de faire ainsi :
$ i = 0;
while (condition)
{
$ couleur = ($ compteur % 2 = = 0) ? " # CCCCCC " : " # FFFFFF " ;
echo ' <tr bgcolor=" ' . $ couleur . ' "><td>texte</td></tr> ' ;
$ i + + ;
}
|
Ou de la manière suivante
$ i = 0;
while (condition)
{
echo ' <tr class="ligne ' . ($ i % 2). ' "><td>texte</td></tr> ' ;
$ i + + ;
}
|
À utiliser après avoir déclaré une feuille de style contenant les classes ligne0, ligne1. Exemple de classe : < style type= " css / text " >
. ligne0 { background- color :
. ligne1 { background- color :
< style>
|
|
| auteur : BiD0uille | Il n'est pas possible pour des raisons évidentes de sécurité de faire ce genre d'opération. PHP s'exécute côté serveur et rien ne peut être tenté côté client sans son accord.
|
| auteur : BiD0uille | Il n'est pas possible pour des raisons évidentes de sécurité de faire ce genre d'opération. PHP s'exécute côté serveur et rien ne peut être tenté côte client sans son accord.
|
| auteur : Sébastien D. |
Comment envoyer mes projets sur un autre serveur sans pour autant dépendre de la librairie installée avec PEAR ou manuellement avec la source.
Nous pouvons faire une sorte de sandbox maison (Bac à sable) :
> symfony project: freeze [ votre/ repertoire/ symfony]
|
Sinon vous pouvez avoir recours à la solution manuelle :
1. Duplication des fichiers de librairies
Rendez-vous dans le répertoire ou à été installé Symfony de base : dans le répertoire PEAR si vous avez installé PEAR ou dans le répertoire de la source si avez télécharger la source manuellement.
Ensuite copiez le contenu du répertoire "symfony/lib" vers le répertoire "~monprojet/lib"
2. Configuration d'accès aux librairies
Maintenant que notre répertoire librairie à été placé dans notre projet nous n'aurons plus qu'à modifier l'accès à celle-ci.
Modifiez ensuite le fichier "config/ProjectConfiguration.class.php" comme ci-dessous:
|
Consultez les autres F.A.Q.
Les sources présentés sur cette page sont libres de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2003
Developpez LLC. Tous droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérêts.
Cette page est déposée à la SACD.
|