Witam,
czy takie działanie jest bezpieczne ?
W login.php do sesji zapisuję Id aktualnie zalogowanego użytkownika.
$_SESSION['user_id'] = $user_id;
Następnie przy dodawaniu wpisu do bazy wyświetlam formularz i jeśli wszystko jest ok, wysyłam go.
coś w tym rodzaju.
addEntry.php
if (!isset($_SESSION['logged']))
if (isset($_POST['add'])) {
if (isset($_POST['message'])) {
$connect = new Connect;
$connect->addEntryQuery($_SESSION['user_id'], $_POST['message']);
//walidacja danych
header("Location: thanks.php"); }
else
{
}
}
else
{
echo '<form action="" method="post"> <textarea cols="25" rows="5" name="message"></textarea><br />
<input type="submit" name="add" value="dodaj" />
</form>';
}
Następnie te dane są przekazywane do klasy Connect
Connect.php
class Connect
{
public function __construct()
{
if(!self::$PDOInstance) {
try
{
self::$PDOInstance = new PDO('mysql:host=localhost; dbname=accept_system', 'root', '');
self::$PDOInstance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e)
{
die('PDO CONNECTION ERROR: ' . $e->getMessage() . '<br/>'); }
}
return self::$PDOInstance;
}
public function addEntryQuery($user_id, $content)
{
$query = self::$PDOInstance->prepare("INSERT INTO `contents` (`id`, `user_id`, `content`) VALUES ('', :user_id, :content)");
$query->bindValue(":user_id", $user_id);
$query->bindValue(":content", $content);
$query->execute();
}
}