Sécuriser son site

Eléphanteau du PHP | 15 Messages

04 févr. 2015, 19:20

Bon soir tous le monde !

Mon site n'est pas sécuriser on peut accéder a ma bdd.. J'envoie des donner via l'url il me semble que sa viens de la, un copain a réussis a me sortir mon mot de passe, il m'as dit qu'il avais réussis a rentré dans ma BDD via un logicielle !

Voici mon code :
<?php
session_start();

if(isset($_SESSION['pseudo']))
{

?>
<meta charset="utf-8">
<?php
include("afficher.func.php");
	$bdd = new PDO('mysql:host='';dbname='';charset=utf8', '', '');

if (isset($_POST['submit']))
{
					
					
	$pseudo = htmlspecialchars(trim($_SESSION['pseudo']));
	$corps = htmlspecialchars(trim($_POST['corps']));

	
	if(empty($pseudo) || empty($corps))
	{
		echo"Veuillez completer tous lezs champs";

	} else{
	inserer_article($pseudo,$corps);
	}
	
		



}
?>
<form method="post" action="">

<p>Votre article</p>
<textarea name="corps" cols="20" rows="7"></textarea><br><br>

<input type="submit" name="submit" value="Poster" />

</form>

<hr/>

<?php

try
{
// On se connecte à MySQL
	$bdd = new PDO('mysql:host=sql1.olympe.in;dbname=4vgmobte;charset=utf8', '****', '****');
}
catch(Exception $e)
{
	// En cas d'erreur, on affiche un message et on arrête tout
	die('Erreur : '.$e->getMessage());
}
$req = $bdd->prepare('SELECT * FROM articles ORDER BY date DESC');

$afficher_articles = afficher_articles();

foreach($afficher_articles as $afficher_article)
{

echo "Poster par ".$afficher_article['pseudo']."<br>";
echo $afficher_article['corps']."<br>";
echo "Le ".date('d/m/Y à H:i:s',strtotime($afficher_article['date']))."<br><br>"; 
?>
<a href="inserer.php?id=<?php echo $afficher_article['id_article']?>">Poster un commentaires</a> - <a href="afficher_commentaire.php?id=<?php echo $afficher_article['id_article']?>">Voire commentaires</a>

<hr/>
<?php
}
?>
<?php
}else{
header('Location:login.php');
}
?>
<a href="logout.php">Me deconnecter</a>
<a href="mini_chat.php" target="_blank">Chat</a>
Modifié en dernier par BuddyLove le 04 févr. 2015, 19:46, modifié 2 fois.

Mammouth du PHP | 688 Messages

04 févr. 2015, 19:30

il faudrait commencer par ne pas diffuser les accès à sa base de donnée en clair dans ce fil; donc vite, changer de mot de passe.
ensuite, il faudrait nous donner le code qui sert à l'authentification.

Eléphanteau du PHP | 15 Messages

04 févr. 2015, 19:48

Merci de ta réponse !

Voici le code :
<?php

function inserer_article($pseudo,$corps)
{
	try
	{
		// On se connecte à MySQL
		$bdd = new PDO('mysql:host=localhost;dbname=blog;charset=utf8', 'root', '');
	}
	catch(Exception $e)
	{
		// En cas d'erreur, on affiche un message et on arrête tout
		die('Erreur : '.$e->getMessage());
	}
	// Si tout va bien, on peut continuer
		$req = $bdd->prepare('INSERT INTO articles(pseudo, corps, date) VALUES(:pseudo, :corps, NOW())');
		$req->execute(array(
		'pseudo' => $_SESSION['pseudo'],
		'corps' => $corps,
	));	
}

function afficher_articles()
{

$articles = array();

try
{
// On se connecte à MySQL
	$bdd = new PDO('mysql:host=localhost;dbname=blog;charset=utf8', 'root', '');
}
catch(Exception $e)
{
	// En cas d'erreur, on affiche un message et on arrête tout
	die('Erreur : '.$e->getMessage());
}
$req = $bdd->query('SELECT * FROM articles ORDER BY date DESC');
while($row = $req->fetch())
   {
$articles[] = $row;
   }
   return $articles;
   }
   
   
   
   
function afficher_commentaires()
{
$commentaires = array();

try
{
// On se connecte à MySQL
	$bdd = new PDO('mysql:host=localhost;dbname=blog;charset=utf8', 'root', '');
}
catch(Exception $e)
{
	// En cas d'erreur, on affiche un message et on arrête tout
	die('Erreur : '.$e->getMessage());
}
$req = $bdd->query('SELECT * FROM commentaires ORDER BY date DESC');
while($row = $req->fetch())
   {
$commentaires[] = $row;
   }
   return $commentaires;
   }
?>


ViPHP
xTG
ViPHP | 7331 Messages

05 févr. 2015, 16:07

Ce n'est pas le code de l'authentification.