Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/11/2006, 19h57   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
Par défaut [SQL] head dynamique & sql

Bonjour,

A partir d'une liste je fais apparaitre les photos relatif à une espèce.
Les pages sont en php, le paramètre est numérique pour permettre "rewrite".

En fonction du paramètre, je veux renseigner title & metatag après récupération des données dans une base SQL.
Malheureusement si je mes le code php dans <head> j'ai une autre entête head qui est généré automatiquement :
<html>
<head>
<title>Titre</title>
</head>

Comment faire pour éviter cela ?
baladeornitho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2006, 21h16   #2
Membre régulier
 
Avatar de rougedragon
 
Inscription : septembre 2006
Messages : 126
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : septembre 2006
Messages : 126
Points : 91
Points : 91
moi j'ai un truc comme ça
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
	if(isset($_REQUEST["link"])){
$link=$_REQUEST["link"];
}else{
$link="intro";
}
$title=$link."meta.php";
if(file_exists($title))
{
include ("$title");
}
else
{
include ('intrometa.php');
}
et je n'ai pas de problème même dans les balises head.
rougedragon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2006, 22h22   #3
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut grosse faille

On ne met jamais de variables dans un include!!! Rien de mieux pour se faire défacer un site!!!
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2006, 22h37   #4
Membre régulier
 
Avatar de rougedragon
 
Inscription : septembre 2006
Messages : 126
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : septembre 2006
Messages : 126
Points : 91
Points : 91
Salut,

pour la sécurité, je vérifie que le fichier existe sur le serveur.
( j'ai déjà été défacé ).
Je voulais juste lui dire que l'introduction de code dans les balises head ne pose pas de pb.

A +
rougedragon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 07h52   #5
Membre régulier
 
Avatar de rougedragon
 
Inscription : septembre 2006
Messages : 126
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : septembre 2006
Messages : 126
Points : 91
Points : 91
pour les requêtes sql, tu les fais avant la balise html. Tu stockes les vars et tu les affiches après.

A +
rougedragon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 09h49   #6
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
C'est ce que je fais, mais dans la page html générée, j'ai automatiquement un <head><tittle> etc qui est créé
baladeornitho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 13h49   #7
Membre régulier
 
Avatar de titoon
 
Inscription : janvier 2005
Messages : 71
Détails du profil
Informations personnelles :
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : janvier 2005
Messages : 71
Points : 84
Points : 84
Citation:
Envoyé par rougedragon
pour la sécurité, je vérifie que le fichier existe sur le serveur.
Et ? Si $fichier = "/etc/passwd" ou $fichier = "../../etc/passwd" ? Les fichiers existent, non ?
Il me semble qu'il y a un article sur les "pseudo-frames" dans la FAQ...

Citation:
Envoyé par baladeornitho
C'est ce que je fais, mais dans la page html générée, j'ai automatiquement un <head><tittle> etc qui est créé
Tu as probablement un problème dans la structure HTML. Qu'est-ce que tu as après le code généré automatiquement par le browser (après le <head><title> etc) ?
titoon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 17h43   #8
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
Par défaut Head dynamique & sql

Indirectement, merci du conseille, tu m'as mis la puce à l'oreille et avec un test basique j'ai trouvé !
=> Voilà ce qui arrive qu'en on commence php s'en trop connaître html et sans comprendre tout ce que l'on fait !
=> J'avais en faite des balises dans connect.php

Que de temps perdu mais bon j'ai appris plein de chose qui me seront s'en doute utile plus tard
baladeornitho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 18h46   #9
Membre régulier
 
Avatar de rougedragon
 
Inscription : septembre 2006
Messages : 126
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : septembre 2006
Messages : 126
Points : 91
Points : 91
Citation:
Envoyé par titoon
Et ? Si $fichier = "/etc/passwd" ou $fichier = "../../etc/passwd" ? Les fichiers existent, non ?
Il me semble qu'il y a un article sur les "pseudo-frames" dans la FAQ...
Justement j'ai lu le tuto. Pourrais tu développer ??
Je croyais être couvert par
Code :
1
2
$title=$link."meta.php";
if(file_exists($title))
A+
rougedragon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 06h40   #10
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
Par défaut Head dynamique & sql

Au niveau de mon fichier connect.php j'avais
<html><head><title>Titre></title><body> de présent avant le code de connexion à ma base de donnée !

Dans la page ou je voulais faire la requête SQL j'avais aussi <html><head><title> puis Require("connect.php"); qui générais donc à nouveau un titre !

En ayant corrigé connect.php je n'ai plus de problème sauf que j'ai des sauts de ligne intempestif mais ça j'espère que c'est pas grave...
baladeornitho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 09h28   #11
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut sauts de lignes

Ton fichier connect.php est un fichier inclus. Donc si tu as des sauts de lignes après ta balise fermante ?> dans le fichiers appelé (connect.php) alors il va générer des sauts de lignes dans ton fichier appelant (index.php par exemple)
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 09h33   #12
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut ça empêche rien

Citation:
Envoyé par rougedragon
Salut,

pour la sécurité, je vérifie que le fichier existe sur le serveur.
( j'ai déjà été défacé ).
Je voulais juste lui dire que l'introduction de code dans les balises head ne pose pas de pb.

A +
Si je saisis l'adresse:
Code :
http://URL/index.php?$link=URLHACK
et qu'à cette URLHACK il y a un fichier qui s'appelle meta.php, alors ton if validera l'existence et l'internaute se retrouvera sur le site où il pourra se faire pirater son login et password ou tout autre renseignement qu'il pourrait saisir en se croyant sur le site officiel.
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 20h30   #13
Membre régulier
 
Avatar de rougedragon
 
Inscription : septembre 2006
Messages : 126
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : septembre 2006
Messages : 126
Points : 91
Points : 91
Dans mon esprit, si tu tapes URLHACK, je lui rajoute meta.php (aurais tu omis le point de concaténation ?? ) donc ça veut dire que le hacker saurais déjà que je rajoute meta.php à tous mes fichiers.

J'ai essayé de taper une autre url pour tester mais peut être que je l'ai mal fait. Je sais que le hacker est revenu sur mon site mais pour l'instant il n'a pas refait sa bidouille. Alors je pensais être tranquille de se coté.

A+
rougedragon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h41.


 
 
 
 
Partenaires

Hébergement Web