Problème accès site hébergé chez free
Napova
Messages postés
2
Statut
Membre
-
ElementW Messages postés 5690 Statut Contributeur -
ElementW Messages postés 5690 Statut Contributeur -
Bonjour,
Avec un ami, nous avons déplacé un site vers l'hébergeur Free. Nous avons un problème pour accéder à notre compte du site. Par-contre la page d'accueil fonctionne.
Voici le site : http://brmanager.v3.free.fr/V3/
Voici le message d'erreur :
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/133/sdb/e/f/brmanager.v3/V3/login.php:1) in /mnt/133/sdb/e/f/brmanager.v3/V3/login.php on line 26
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/133/sdb/e/f/brmanager.v3/V3/login.php:1) in /mnt/133/sdb/e/f/brmanager.v3/V3/login.php on line 26
Warning: Cannot modify header information - headers already sent by (output started at /mnt/133/sdb/e/f/brmanager.v3/V3/login.php:1) in /mnt/133/sdb/e/f/brmanager.v3/V3/login.php on line 98
Pouvez-vous m'aider ? ? ?
Merci :)
Avec un ami, nous avons déplacé un site vers l'hébergeur Free. Nous avons un problème pour accéder à notre compte du site. Par-contre la page d'accueil fonctionne.
Voici le site : http://brmanager.v3.free.fr/V3/
Voici le message d'erreur :
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/133/sdb/e/f/brmanager.v3/V3/login.php:1) in /mnt/133/sdb/e/f/brmanager.v3/V3/login.php on line 26
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/133/sdb/e/f/brmanager.v3/V3/login.php:1) in /mnt/133/sdb/e/f/brmanager.v3/V3/login.php on line 26
Warning: Cannot modify header information - headers already sent by (output started at /mnt/133/sdb/e/f/brmanager.v3/V3/login.php:1) in /mnt/133/sdb/e/f/brmanager.v3/V3/login.php on line 98
Pouvez-vous m'aider ? ? ?
Merci :)
A voir également:
- Problème accès site hébergé chez free
- Site de telechargement - Accueil - Outils
- Acces rapide - Guide
- Site pour partager des photos - Guide
- Quel site remplace coco - Accueil - Réseaux sociaux
- Site comme coco - Accueil - Réseaux sociaux
4 réponses
'lut, le message d'erreur est clair: quelque chose a déjà été envoyé avant la redirection.
Revérifies tes scripts, et si rien ne semble être envoyé, vérifies et élimine si besoin cette absurdité micro$oftienne de BOM si tes pages sont en UTF-8.
EDIT: je viens de vérifier sur ton site, c'est bien un problème de BOM. Tu peux les enlever avec Notepad++ ou un autre éditeur de code digne de ce nom.
Au passage, l'extension MySQL est pourrie, obsolète, à ne plus utiliser: elle est trouée de partout niveau sécurité et n'est plus maintenue. Et niveau design c'est un massacre.
Free.fr ne proposant pas de driver MySQL pour PDO ni mysqli, je te propose d'utiliser ce polyfill, en remplaçant dans le script toutes les mentions de PDO par un autre nom,
from human import idiocy
del idiocy
Revérifies tes scripts, et si rien ne semble être envoyé, vérifies et élimine si besoin cette absurdité micro$oftienne de BOM si tes pages sont en UTF-8.
EDIT: je viens de vérifier sur ton site, c'est bien un problème de BOM. Tu peux les enlever avec Notepad++ ou un autre éditeur de code digne de ce nom.
Au passage, l'extension MySQL est pourrie, obsolète, à ne plus utiliser: elle est trouée de partout niveau sécurité et n'est plus maintenue. Et niveau design c'est un massacre.
Free.fr ne proposant pas de driver MySQL pour PDO ni mysqli, je te propose d'utiliser ce polyfill, en remplaçant dans le script toutes les mentions de PDO par un autre nom,
PDOSpar exemple, car PDO est quand même existant chez Free. Du coup ton code utilisera
PDOSau lieu de
PDO, mais le code sera quasi-identique.
from human import idiocy
del idiocy
Voici le script :
<?php
include 'include/connexion_db.php';
if (isset(€_GET['lang'])) €langue=€_GET['lang'];
else €langue="";
if(isset(€_POST) && !empty(€_POST['login']) && !empty(€_POST['pass'])) {
extract(€_POST);
// on recupère le password de la table qui correspond au login du visiteur
€sql = "select pwd, id_club, nom, affiliate from club where ident='".addslashes(€login)."';";
€req = mysql_query(€sql) or die('Erreur SQL !
'.€sql.'
'.mysql_error());
<?php
include 'include/connexion_db.php';
if (isset(€_GET['lang'])) €langue=€_GET['lang'];
else €langue="";
if(isset(€_POST) && !empty(€_POST['login']) && !empty(€_POST['pass'])) {
extract(€_POST);
// on recupère le password de la table qui correspond au login du visiteur
€sql = "select pwd, id_club, nom, affiliate from club where ident='".addslashes(€login)."';";
€req = mysql_query(€sql) or die('Erreur SQL !
'.€sql.'
'.mysql_error());
Les balise html (br retour chariot) sont manquantes ci-dessus mais je pense que le code est compréhensible. Voici la ligne 26 indiquée dans le message d'erreur (id_club est un id_utilisateur_inscrit ) :
if($data = mysql_fetch_assoc($req)){
$id_club = $data['id_club'];
if($data['pwd'] != $pass) {
mysql_close($connex);
//echo "bad_pwd";
header('Location: index.php?msg=bad_pwd&lang='.$langue);//redirection
//echo '<p>Mauvais login / password. Merci de recommencer</p>';
//include('index.php'); // On inclut le formulaire d'identification
}
else {
//mysql_close($connex);
session_start();
$_SESSION['club'] = $id_club;
$_SESSION['nom_club'] = $data['nom'];
$_SESSION['session'] = rand(10000000,100000000);//session
$sql = "UPDATE club SET session='" . $_SESSION['session'] . "', date_session='" . date("Y/m/d H:m:s") . "' WHERE id_club='" . $id_club . "';";
//echo "<br>".$sql;
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
J'envisage SQLite, mais sans urgence puisque la base n'est pas sensible (même pas d'adresse mail enregistrée).
Judicieux ?
Quant au statut obsolète: je parlais bien de l'extension PHP MySQL avec ses fonctions , pas de MySQL en soi.
judicieux? d'avoir une base de données inexploitable et ayant des failles? certainement pas, si vous l'avez développé c'est qu'il y a un besoin actuel ou futur. La sécurité ce n'est pas que le vol de contenu mais aussi (et surtout) l'intégrité du système d'information: base fausse/abimé = intégrité des données perdues = tout le site est bon à jeter. Un exemple si vous avez un login et que celui ci est modifié par une faille de sécurité l'utilisateur ne pourra plus se connecter.
Si tous les mots de passe sont modifiés, même celui de l'admin votre site est tout simplement inaccessible. S'il s'agit de données statistiques faussée ou de valeurs nécessaires qui sont manquantes les stats seront une source d'erreur(en gros vous affichez des trucs fau :s) et pour les données manquante le programme va être en erreur constante.
Ce qui serait judicieux c'est investir dans un hébergeur digne de ce nom(entre 15 et 60€/an pour les moins chers).
Ce qu'il le serait tout autant c'est de ne pas perdre votre temps à développer quelque chose qui est voué à être changé = gain de temps = site qui perdure.
ps: gravgun (je pense) parlais non de la technologie de la base mais des fonctions PHP qui permettent d'y accéder.