Я совсем недавно начал изучать php и в процессе пишу подобие блога. В процессе узнал об опасности sql инъекций. Гуглил об этом, но результаты немного не под мой случай, не смог разобраться. Как переписать этот код чтобы защититься от sql инъекций?
<?php require('includes/config.php'); ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title><?php echo $config['title'];?></title>
<!-- Bootstrap -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
<!-- CSS -->
<?php include('css/style.сss'); ?>
</head>
<body>
<?php include('includes/header.php'); ?>
<div class="container mt-2" id="wrapper">
<div class="row title-article">
<div class="col-2 p-2">
<h5>Новейшее</h5>
</div>
<div class="col-8">
</div>
<div class="col-2 title-part p-2">
<a href="articles.php"><h5>Все статьи</h5></a>
</div>
</div>
<div class="row mt-2" >
<div class="col-xl-8 col-lg-8 col-md-12">
<?php
$articles = mysqli_query($connection, "SELECT * FROM `articles` ORDER BY `id` DESC LIMIT 10");//вывод на страницу последних 10 добавленных статей ?>
<?php while($art = mysqli_fetch_assoc($articles))
{
?>
<div class="row content">
<div class="col-12 article all-art mb-1">
<div class="row">
<div class="col-xl-3 col-lg-3 col-md-12 img-article" >
<img src="static/images/<?php echo $art['image']?>" alt="" style="width: 100%;">
</div>
<div class="col-xl-9 col-lg-9 col-md-12 article-content">
<h4><a href="article.php?id=<?php echo $art['id'];?>"><?php echo $art['title'];?></a></h4>
<?php
$art_cat = false;
foreach($categories as $cat) {
if($cat['id'] == $art['categorie_id']){
$art_cat = $cat;
break;
}
}
?>
<small>Категория: <?php echo $art_cat['title'];?></small>
<p><?php echo mb_substr(strip_tags($art['text']), 0, 100, 'utf-8') . '...';?></p>
</div>
</div>
</div>
</div>
<?php } ?>
</div>
<?php include('includes/sidebar.php'); ?>
</div>
</div>
<?php include('includes/footer.php'); ?>
И посоветуйте соответствующий материал для новичка. Заранее спасибо. Вот страница article.php
<?php $article = mysqli_query($connection, "SELECT * FROM `articles` WHERE
`id` = " . (int) $_GET['id']);
if(mysqli_num_rows($article)<=0)
{
?>
<div class="container mt-2" id="wrapper">
<div class="row title-article">
<div class="col-6 p-2">
<h5>Запрашиваемая вами статья не существует!</h5>
</div>
<div class="col-4">
</div>
<div class="col-2 title-part p-2">
<a href=""><h5>Все статьи</h5></a>
</div>
</div>
<?php }
else{
$art = mysqli_fetch_assoc($article);
mysqli_query($connection,"UPDATE `articles` SET `views` = `views` + 1
WHERE `id` = " . (int) $art['id']); ?>
<div class="row mt-2" >
<div class="container mt-2" id="wrapper">
<div class="row title-article">
<div class="col-6 p-2">
<h5><?php echo $art['title']; ?></h5>
</div>
<div class="col-4">
</div>
<div class="col-2 title-part p-2">
<a href="articles.php"><h5>Все статьи</h5></a>
</div>
</div>
<div class="row mt-2" >
<div class="col-xl-8 col-lg-8 col-md-12 article-block">
<img src="static/images/<?php echo $art['image']; ?>" alt="">
<p><?php echo $art['text'];?></p>
</div>
$art['id']надо в файлеarcticle.phpа не тут. а вернее$_GET['id']– teran Jul 06 '18 at 13:55