Afficher le sommaire de la page

mercredi 27 février 2008

Authentification HTTP automatique

27 02 2008

Vous avez des fichiers à protéger et une interface d'administration en parallèle avec protection au backoffice via PHP et sessions.
Pour que vos dossiers ne soient pas accessible par tous le monde si l'url d'un fichier est découverte,

Trois solutions s'offrent à vous :
- Soit je mets mes fichiers en bdd
- Soit je les sors de l'arborescence web et les rapatrie ensuite en php avec header appropriés
- Soit je protège tous mes dossiers avec un htaccess

Mon exemple concernera la troisième solution.

[ Lire la suite  ]



mardi 29 janvier 2008

Warning: Cannot modify header information - headers already sent by ...

29 01 2008

Une erreur si récurrente que tout le monde la pose encore sur tous les forum :)

Les fonctions php telles que header(), setcookie() ou session_start() sont des fonctions qui manipulent les entêtes http d'une page. Les entêtes http sont là pour spécifier au navigateur client quel type de page il va devoir afficher.

Avant l'appel de ces fonctions il ne faut donc pas générer le moindre flux vers le client.

Que ce soit html ou bien un simple espace blanc ou saut de ligne avant la balise <?php, le serveur renverra l'erreur Warning: Cannot modify header information - headers already sent by ... (ou similaire) ne pouvant plus modifier les entêtes déjà envoyés.

Certains serveurs ne seront pas touchés si leur configuration php contient la variable output_buffering à on

Il est aussi possible de forcer la configuration grâce à une ligne dans un htaccess : PHP_FLAG output_buffering on Cela permet de faire patienter le flux (bufferisation) si une fonction devant modifier les header est appelée avant.



Redirection IE6 étrange !!

29 01 2008

J'ai eu un soucis sous IE6 pour effectuer une redirection javascript qui après test fonctionne bien sur IE7 ou firefox

<script type="text/javascript">
function redirection(url)
{
        if(confirm('Voulez vous être redirigé ?')) location.href = url;
}
</script>

> Ne fonctionne pas sous IE6

<a href="javascript:;" onclick="redirection('mon_url.com');" title="Redirection vers mon_url.com">mon_url.com</a>

> Fonctionne sous IE6

<a href="javascript:redirection('mon_url.com');" title="Redirection vers mon_url.com">mon_url.com</a>

Ensuite, le comportement est assez bizarre...

La redirection en elle même n'est pas effectuée car nous ne changeons pas de page (cf. url navigateur) et pourtant il y a un mouvement de la barre d'avancement du navigateur (cf. barre d'état).

Et, si l'url de destination pointe vers un script php, il est exécuté mais nous restons sur la même page ?!?!

Bizarre, bizarre, il semblerait qu'on change de page, qu'on exécute la page suivante puis, qu'on revienne sur la page précédente ....

Bref de toute façon ce ne plus le navigateur d'actualité mais il va tout de même encore rester dans des proportions considérables pendant quelques temps alors attention :)



vendredi 25 janvier 2008

Sources "Une pipette pour le web"

25 01 2008

Voici les sources de la pipette faite il y a plus d'un an, j'avais laissé ça dans un placard et du coup pas le temps de m'y replonger.

cf. Une pipette pour le web (16/11/2006)

[ Lire la suite  ]



exit() et redirection via header()

25 01 2008
<?php
  if($redirect) 
  {
    header("Location: http://developpeur.mediabox.fr");
  }
  
  unlink('mon_fichier_tres_important.pdf');
 
  ma_fonction_qui_nexiste_pas();
 
  unset($_SESSION);
 
  mysql_query("DROP DATABASE mb_db", $connexion); // : )
?>

Essayez ceci pour voir ^^

Bon effectivement je sort l'artillerie lourde, mais il faut savoir que la fin d'une page php continue d'être exécutée sur le serveur malgré une redirection via un header Location.

Du coup vous pouvez faire échouer votre redirection si une erreur survient, faire une manipulation non souhaitée ou redéclarer des variables et ensuite vous demander à quelle endroit tout ceci a été modifié.

Donc un petit conseil :

<?php
  if($redirect) 
  {
    header("Location: http://developpeur.mediabox.fr");
    exit(); // Important !
  }
 
  unlink('mon_fichier_tres_important.pdf');
 
  ma_fonction_qui_nexiste_pas();
 
  unset($_SESSION);
 
  mysql_query("DROP DATABASE mb_db", $connexion); // : )
?>

Stoppez vos scripts après un header :)



mardi 11 décembre 2007

Rappelez vous de IE et de ses bloquages du control ActiveX

11 12 2007

Combien de billet de blog as-t-on pu décortiquer lorsque la panique c'est installée à la sortie de la nouveauté Internet Explorer en 2006.

IE bloque le control ActiveX et là, toutes nos petites animations Flash se mettent à demander une validation pour bien vouloir se lancer !!!

D'après certains, il se pourrait que mi-2008 le navigateur se voit débarrasser de cette petite verrue :)

Une bonne nouvelle pour nous développeur qui n'auront plus à charger le script bien util swfobject ? et bien c'est comme tout, il va falloir attendre une génération avant de s'en remettre afin que tout le monde prennent en compte la mise à jour ;)

Source Officielle : IE Automatic Component Activation (Changes to IE ActiveX Update) (IEBlog)

Source FR : IE: la fin du -Cliquez pour activer- ! (Mediabox)



jeudi 11 octobre 2007

FileReference et la récupération de données

11 10 2007

A l'utilisation du petit module d'upload de JeanPhi, j'ai eu besoin de retourner le nom du fichier uploadé renommé à la volée par mon script PHP.

Problème car la classe n'accepte pas l'utilisation de session dans la page appelée !
Alors on envisage de passer par bdd ou fichier texte temporaire mais bon très lourd pour retourner simplement quelques caractères...

Autres alternatives ? ->
filereference-and-sessions-a-bug-from-hell -> Problème avec divers navigateur

Après de nombreuses recherches, rien n'était prévu pour gérer des retours via la class filereference.

Mais un nouveau petit ecouteur est sortit avec Flash CS3 : onUploadCompleteData

Du coup, un simple

myListener.onUploadCompleteData = function(myFileReference, retour) {
	stat.text = "Le transfert est maintenant termine !";
	flash.external.ExternalInterface.call("module._getMyLastFile", retour);
	prog.text = "";
};

récupère le echo 'mon nouveau nom de fichier'; dans ma page d'upload PHP.

Simple mais très très peu documenté :)

merci à MB et Tonic ;)



mercredi 9 mai 2007

Un lifting chez Mediabox

09 05 2007

Et oui aujourd'hui l'architecture des forums change !

Ca veut dire QUOI? 5 forums seront à votre disposition maintenant :)

[ Lire la suite  ]



vendredi 13 avril 2007

Amoks recherche un profil d'Infographiste Print / Multimédia

13 04 2007

Amoks, agence de Stratégie Internet & Communication Visuelle de Grenoble, recherche pour son pôle Design Graphique un Infographiste.

En collaboration avec le Directeur Artistique et le pôle Web, vous aurez pour principales missions de participer à l’étude des projets, apporter votre vision créative, réaliser les outils de stratégie de communication de nos clients, et concevoir le design de sites Internet.

Le profil recherché :

  • Esprit créatif et original
  • Veille des tendances graphiques
  • Avoir une bonne culture Web
  • Dynamique et curieux

Pour plus d'informations téléchargez la fiche offre d'emploi "Infographiste"

Site Internet : www.amoks.com

Contact : jobatamokspointcom



samedi 7 avril 2007

Amoks recherche un profil de Développeur Multimédia

07 04 2007

POURVU

Amoks, agence de Stratégie Internet & Communication Visuelle de Grenoble, recherche pour son pôle Web un Développeur Multimédia.

En collaboration avec le pôle Design Graphique et le Chef de Projet Web, vous aurez pour principales missions de participer à l’étude du projet, développer les sites internet et enfin assurer leur maintenance.

Le profil recherché :

  • Maîtrise du langage d’intégration
  • Maîtrise de Photoshop serait apprécié
  • Goût pour la programmation
  • Capacité de s’adapter à des nouveaux langages

Pour plus d'informations téléchargez la fiche offre d'emploi "Développeur Web"

Site Internet : www.amoks.com

Contact : jobatamokspointcom





Page 1 sur 3 - Page suivante