рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░!
рд╕реБрд░рдХреНрд╖рд╛ рдПрдХ рдЧрдВрднреАрд░ рдорд╛рдорд▓рд╛ рд╣реИред рдФрд░ рдЕрдХреНрд╕рд░ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рдЕрдкреНрд░рд┐рдп рдкрд░рд┐рдгрд╛рдо рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдЬреНрдЮрд╛рди рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдореИрдВ рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ - рдореИрдВ рдПрдХ рд╕рдорд░реНрдердХ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдЖрд▓реЛрдЪрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрджреНрджреЗрд╢реНрдпред рдпрд╣ рд╕рд╛рдордЧреНрд░реА рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХрддрд╛ рдФрд░ рдореВрд▓реНрдп рдХреЛ рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдФрд░ рдлрд┐рд░ рднреА, рдореИрдВ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдВрднрд╡ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИ, рдореИрдВ ORM рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реВрдВ, рдЪреМрдЦрдЯреЗ рдореЗрдВ рджреА рдЧрдИ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдирд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рд░ рдХреЛрдИ рд╕рдордЭ рд╕рдХреЗред
рдФрд░ рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдкрд░рд┐рдЪрдп рдХреЗ рд╕рд╛рде рдЦрддреНрдо рдХрд░рдиреЗ рдФрд░ рдЕрднреНрдпрд╛рд╕ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдВрдд рдкрд░рд┐рдгрд╛рдо рддрдХ рдХрд╛ рдорд╛рд░реНрдЧ
рдореБрдЭреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрджрдд рдирд╣реАрдВ рд╣реИред рдореЗрд░реА рдЖрддреНрдорд╛ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рддрд░рд╕ рд░рд╣реА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд╡рд┐рд╖рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реБрдП, рд╣рдо рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд▓рдЧрднрдЧ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣рдорд▓реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ - рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдФрд░ рдХреИрд╕реЗ рдЦреБрдж рдХрд╛ рдмрдЪрд╛рд╡ рдХрд░реЗрдВред рд╣рд╛рдВ, рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣реИрдХрд┐рдВрдЧ рд╕рд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди, рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рд╣рдорд▓рд╛ рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рд╣рдо рдПрдХ рд╕рдХреНрд╖рдо рдмрдЪрд╛рд╡ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
XSS
рдареАрдХ рд╣реИ, рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣рдорд▓рд╛ рдПрдХреНрд╕рдПрд╕рдПрд╕ рд╣реИред рд╣рд╛рдВ, рдЕрдЪреНрдЫрд╛ рдкреБрд░рд╛рдирд╛ рдПрдХреНрд╕рдПрд╕рдПрд╕ рдЬреЛ рд╕рднреА рдиреЗ рд╕реБрдирд╛ рд╣реИред XSS (рдХреНрд░реЙрд╕ рд╕рд╛рдЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ) рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣рдорд▓рд╛ рд╣реИ рдЬреЛ рд╕рд╛рдЗрдЯ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ: рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╣рдорд▓рд╛рд╡рд░ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреЛрдб рд▓рд┐рдЦрддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдкрдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреБрдХреАрдЬрд╝ рдЪреЛрд░реА рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рд▓реЙрдЧрд┐рди рдХреЗ рдмрд┐рдирд╛ рдЕрдкрдиреЗ рдЦрд╛рддреЛрдВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╣рдо рдПрдХ рдЕрдзрд┐рдХ рд╣рд╛рдирд┐рд░рд╣рд┐рдд рдЙрджрд╛рд╣рд░рдг рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд░реВрдк рджрд┐рдпрд╛:
Index.php рдлрд╝рд╛рдЗрд▓<?php $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC ]; $pdo = new PDO("mysql:host=localhost;dbname=".$db,$user,$pass,$opt); $pdo->exec("SET CHARSET utf8"); $query = $pdo->prepare("SELECT * FROM `comments`"); $query->execute(); $comments = $query->fetchAll(); if ($_POST) { $username = trim($_POST['name']); $comment = trim($_POST['comment']); $query = $pdo->prepare("INSERT INTO `comments` (`username`,`message`) VALUES ('$username', '$comment')"); $query->execute(); if ($query) { echo ' !'; header("Location: index.php"); } else { echo ' !'; } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>XSS</title> </head> <body> <form method="POST" class="addComment"> <input type="text" name="name" placeholder="Username"> <textarea name="comment"></textarea> <input type="submit" value=" "> </form> <div class="h2"></div> <div class="comments"> <?php if ($comments): foreach ($comments as $comment):?> <div class="comment"> <div class="comment_username"><?php echo $comment['username'];?></div> <div lass="comment_comment"><?php echo $comment['message'];?></div> </div> <?php endforeach;?> <?php else:?> <div class="no_comments"> </div> <?php endif;?> </div> </body> </html>
рдХреЛрдб рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдПрдХ рдШреБрд╕рдкреИрдард┐рдпрд╛ рд╣реИ - рдЬреЙрдиред рдЬреЙрди рдКрдм рдЧрдпрд╛ рдФрд░ рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИред
рдЬреЙрди рдлреЙрд░реНрдо рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрджреЗрд╢ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
<script>document.body.style.backgroundColor = "#000";</script>
рдФрд░ рдЕрдм рд╕рд╛рдЗрдЯ рдХреЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд▓реА рдкреГрд╖реНрдарднреВрдорд┐ рд╣реИред рдЬреЙрди рд╕рдВрддреБрд╖реНрдЯ рд╣реИ, рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдФрд░ рдлрдЯрдХрд╛рд░ рд▓рдЧрд╛рдИред
рдХреНрдпрд╛ рд╣реБрдЖ рдХрднреА?
рдЬреЙрди рдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реАред рдХрд┐рд╕реА рдкреГрд╖реНрда рдкрд░ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдЯрд┐рдкреНрдкрдгреА html рдХреЛрдб рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИред HTML рдХреЛрдб, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЗрд╕реЗ рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдФрд░ рджреБрднрд╛рд╖рд┐рдпрд╛ рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ред рдпрд╣реА рд╣реИ, рдЬреЙрди рдиреЗ рдЕрдкрдиреЗ рдЬреЗрдПрд╕ рдХреЛрдб рдХреЛ рдореМрдЬреВрджрд╛ рд╕рд╛рдЗрдЯ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ред
рд╣рдо рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВрдЧреЗ?
рдЗрд╕ рдЧрд▓рддрдлрд╣рдореА рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, htmlspecialcars рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрд╕рдХреЗ рдХрд╛рдо рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╣ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдФрд░ рдХреЛрд╖реНрдардХ рдЬреИрд╕реЗ рд╡рд░реНрдгреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд░реНрдг "<" рдХреЛ рдЗрд╕рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд░реНрдг рдХреЛрдб рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде, рд╣рдо рдлреЙрд░реНрдо рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдм рдЬреЙрди рдХрд╛ рдЬреЗрдПрд╕ рдХреЛрдб рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдХреЛ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛ рд╕рдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЕрдЧрд░ рдпрд╣ рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХрдорд╛рддреНрд░ рд░реВрдк рд╣реИред
рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:
Index.php рдлрд╝рд╛рдЗрд▓ <?php if ($_POST) { $username = htmlspecialchars(trim($_POST['name'])); $comment = htmlspecialchars(trim($_POST['comment']));
рдПрд╕рдХреНрдпреВрдПрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди
рд╕рдмрд╕реЗ рдЖрдо рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣рдорд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рднреВрд▓ рдЬрд╛рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╡реЗ рдЗрд╕реЗ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдкреНрд░рд╢реНрди рдФрд░ рд░реВрдкрд░реЗрдЦрд╛ рд╣реИрдВред
рд╣рдо рддреИрдпрд╛рд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рд╣рдорд▓реЗ рдХрд╛ рд╕рд╛рд░ рдХреНрдпрд╛ рд╣реИ: рд╣рдорд▓рд╛рд╡рд░ рдЗрдирдкреБрдЯ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ SQL рдХреНрд╡реЗрд░реА рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлреЙрд░реНрдо рдХреЛ рд╕рдмрдорд┐рдЯ рдХрд░рддрд╛ рд╣реИред рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдХреЛрдб рдореЗрдВ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ, рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рддреЗ рд╕рдордп, рдпрд╣ рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рддрд░реНрдХ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдареАрдХ рд╣реИ, рдПрдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░реЗрдВред рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдиреЗ XSS рд╣рдорд▓реЛрдВ рд╕реЗ рдлреЙрд░реНрдо рдХреА рд░рдХреНрд╖рд╛ рдХреА рд╣реИред рдФрд░ рдЬреЙрди рдЕрдкрдиреЗ рдЬреНрдЮрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ, рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рдбреЗрд╡рд▓рдкрд░ рдХреА рдЦрд╛рдорд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдпрд╣реА рд╣реИ, рд╣рдо рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реА рд░реВрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред
рдЖрдЗрдП рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВ:
1) рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдкреВрд░реНрд╡-рдореЙрдбрд░реЗрд╢рдиред
рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдордВрдЬреВрд░реА рджреЗ рджреА рдЧрдИ рд╣реИ рдЬреЛ рдореЙрдбрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдореЛрджрд┐рдд рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдВрдЧреАред рд╣рдо рдкреВрд░реНрд╡-рдореЙрдбрд░реЗрд╢рди рдХреЛ рдЙрд╕рдХреЗ рд╕рд░рд▓рддрдо рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд▓реЗрдЦ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рди рд╣реЛрдВред
рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдлрд╝реАрд▓реНрдб "is_moderate" рдЬреЛрдбрд╝реЗрдВ, рдЬреЛ рджреЛ рдорд╛рди рд▓реЗрдЧрд╛ - "1" (рдЯрд┐рдкреНрдкрдгреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ) рдпрд╛ "0" (рдкреНрд░рджрд░реНрд╢рд┐рдд рди рдХрд░реЗрдВ)ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, "0"ред
2) рдЕрдиреБрд░реЛрдз рдмрджрд▓реЗрдВред
рдпрд╣ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рд╣реИред рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдЗрд╕ рддрд░рд╣ рдХрд░реЗрдВ:
"INSERT INTO `comments` SET `username`='$username', `message`='$comment'"
рдЕрдм рдлреЙрд░реНрдо рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
Index.php рдлрд╝рд╛рдЗрд▓ <?php $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC ]; $pdo = new PDO("mysql:host=localhost;dbname=".$db,$user,$pass,$opt); $pdo->exec("SET CHARSET utf8"); $query = $pdo->prepare("SELECT * FROM `comments` WHERE `is_moderate`='1'"); $query->execute(); $comments = $query->fetchAll(); if ($_POST) { $username = htmlspecialchars(trim($_POST['name'])); $comment = htmlspecialchars(trim($_POST['comment'])); $query = $pdo->prepare("INSERT INTO `comments` SET `username`='$username', `message`='$comment'"); $query->execute(); if ($query) { echo ' !'; } else { echo ' !'; } } ?>
рдареАрдХ рд╣реИ, рдЬреЙрди рд╕рд╛рдЗрдЯ рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд░рддрд╛ рд╣реИ рдФрд░, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдореЙрдбрд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╢реБрд░реВ рд╣реБрдЖ, рдЙрд╕рдиреЗ рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдордЬрд╛рдХ рдЙрдбрд╝рд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, XSS рд╣рдорд▓реЛрдВ рдХрд╛ рд░реВрдк рдЕрдм рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЬреЙрди рдкрд╣рд▓реЗ рд╣реА рдореМрдЬ-рдорд╕реНрддреА рдХрд░рдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рд╕реЗ рд╡рдВрдЪрд┐рдд рд╣реЛ рдЧрдП рд╣реИрдВред рд╡рд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЯрд┐рдкреНрдкрдгреА рдЫреЛрдбрд╝рддрд╛ рд╣реИ: "LOL ', is_moderate =' 1" рдФрд░ рдореЙрдбрд░реЗрд╢рди рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
рдХреНрдпреЛрдВ?
рдЬрдм рдЖрдк рд╣рдорд╛рд░реА рдХреНрд╡реЗрд░реА рдореЗрдВ рдЬреЙрди рдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рдЯреВрдЯ рдЬрд╛рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЙрди рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ SQL рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
рдЬреЙрди рдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЕрдиреБрд░реЛрдз рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
"INSERT INTO `comments` SET `username`='John', `message`='LOL', `is_moderate`='1'"
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрд╕рдХреНрдпреВрдПрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди рди рдХреЗрд╡рд▓ рдПрдХ рдлреЙрд░реНрдо рдЬрдорд╛ рдХрд░рддреЗ рд╕рдордп рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рддрдм рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЙрдирдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдЦреЛрдЬ рдлрд╝реЙрд░реНрдо рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛, рдФрд░ рдЕрдиреНрдп рд╕реНрдкрд╖реНрдЯ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВред
рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ?
рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рддреИрдпрд╛рд░ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреА рдЬрд╛рддреА рд╣реИред рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЕрдиреБрд░реЛрдз рдЕрдиреБрд░реЛрдз рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЧреБрдЬрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рд╕реЗ рдмрдЪрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЖрдкрдиреЗ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реЛрдЧрд╛ред PHP рдореЗрдВ, рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: "\"ред
рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди рдкреАрдбреАрдУ рд╣реИред рдкреАрдбреАрдУ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред рдХреНрдпрд╛ рдПрдХ рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред рдХреЗрд╡рд▓ рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдкреАрдбреАрдУ рддреИрдпрд╛рд░ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд╕реНрдХ рдФрд░ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рддрдм рдорд╛рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╣рдорд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
Index.php рдлрд╝рд╛рдЗрд▓ <?php $query = $pdo->prepare("INSERT INTO `comments` SET `username`=:username, `message`=:comment"); $params = ['username' => $username,'comment' => $comment]; $query->execute($params);
рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп:
Index.php рдлрд╝рд╛рдЗрд▓ <?php $query = $pdo->prepare("INSERT INTO `comments` SET `username`=?, `message`=?"); $params = [$username,$comment]; $query->execute($params);
рдЕрдм рдЬреЙрди рдХрд╛ рд╣рдорд▓рд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдПред
рд╡реИрд╕реЗ, рд╣рдорд╛рд░рд╛ рд╕рдВрдпрдо, рдЗрд╕ рд░реВрдк рдореЗрдВ рднреА, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣рдорд▓реЗ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ - рдПрд╕рдкреАрдПрдПрдоред рд╣рдо рд╕рднреА рдиреЗ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ред SPAM рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЛрд╢рд▓ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЗ рдЬреНрдЮрд╛рди рдХреА рдорджрдж рд╕реЗ рд╣рдорд▓рд╛рд╡рд░ рдЕрдкрдиреЗ рд╣рдорд▓реЗ рдХрд░рддреЗ рд╣реИрдВред рдЕрдм рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдордзреНрдпрд╕реНрде рд╣реИред рдФрд░ рдлрд┐рд░, рдпрджрд┐ рд╡рд╣ рдЗрддрдирд╛ рдмреЗрд╡рдХреВрдл рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд╣ рдпрд╛ рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдЪрд░рд╛ рд╣рдЯрд╛ рджреЗрдЧрд╛, рдпрд╛ рдпрджрд┐ рд╡рд╣ рдЖрд▓рд╕реА рд╣реИ, рддреЛ рд╡рд╣ рдкреНрд░рдХрд╛рд╢рди рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдпрд╣ рдмрд╛рдд рд╣реИред
CSRF рдХрд╛ рд╣рдорд▓рд╛
CSRF - рдХреНрд░реЙрд╕-рд╕рд╛рдЗрдЯ рдЕрдиреБрд░реЛрдз рдХреНрд╖рдорд╛ред рдпрд╣ рдЦрддрд░рдирд╛рдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рдХрдо рд▓реЛрдЧ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕рд╛ рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред
рдпрд╣ рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ: рдПрдХ рдЕрдиреНрдп рд╕рд╛рдЗрдЯ рдХрд╛ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдПрдХ рдлрд╝реЙрд░реНрдо рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдкреАрдбрд╝рд┐рдд рдХреЛ рдЗрд╕ рдлрд╝реЙрд░реНрдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА POST рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ HTTP рдЕрдиреБрд░реЛрдз рдирдХрд▓реА рд╣реИ рдФрд░ рдкреАрдбрд╝рд┐рдд рдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЬрд╛рддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЖрдкрдХреЗ рдорд┐рддреНрд░ рдХреЛ рдЖрдкрдХреА рдУрд░ рд╕реЗ рд╡реАрдХреЗ рдореЗрдВ рдПрдХ рдкрддреНрд░ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдпрд╣ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред
рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдлреЙрд░реНрдо рдмрдирд╛рдпрд╛, рд╡рд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреА рд╣реИ рдХрд┐ рдПрдХреНрд╕рдПрд╕рдПрд╕, рдПрд╕рдХреНрдпреВрдПрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рдЦрд┐рд▓рд╛рдл рдЦреБрдж рдХрд╛ рдмрдЪрд╛рд╡ рдХреИрд╕реЗ рдХрд░реЗрдВ рдФрд░ рд╕реНрдкреИрдо рдХрд╛ рджрдмрд╛рд╡ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдбреЗрд╡рд▓рдкрд░ рдХреА рд╕рд╛рдЗрдЯ рдкрд░ index.php рдлрд╝рд╛рдЗрд▓ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSRF</title> </head> <body> <form action="action.php" method="POST"> <input type="text" name="username"> <textarea name="message"></textarea> <input type="submit" value=" "> </form> </body> </html>
рд▓реЗрдХрд┐рди рдЬреЙрди рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред рд╡рд╣ рдлреЙрд░реНрдо рдХреЛрдб (рдмрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рд╛рдЗрдЯ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ) рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлреЙрд░реНрдо рдХреЛ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдкрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдЬреЙрди рдХреА index.php рдлрд╝рд╛рдЗрд▓ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSRF</title> <style> form input[type=submit]{ padding: 15px; font-size: 20px; color:
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬреЙрди рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░, рдЬрд┐рд╕ рд╕реНрдерд╛рди рдкрд░ рдкреНрд░рдкрддреНрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЕрдм рдХреЛрдИ рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ, рдЕрдЪреНрдЫреА рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рднреЗрдЬреЗрдЧрд╛ред
рдпрд╣ рдПрдХ рд╕реАрдПрд╕рдЖрд░рдПрдл рд╣рдорд▓рд╛ рд╣реИред рд╕рд░рд▓рддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдмрд┐рд▓реНрдХреБрд▓ред
рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ ...
рдХреИрд╕реЗ рдПрдХ рднреЗрджреНрдпрддрд╛ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП?
рдПрдХ рдмрд┐рдВрджреБ рдкрд░, рдбреЗрд╡рд▓рдкрд░ Google рдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рд╕реАрдПрд╕рдЖрд░рдПрдл рдХреНрдпрд╛ рд╣реИ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рддрд░реНрдХ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧрд╛: рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реАрдПрд╕рдЖрд░рдПрдл рдЯреЛрдХрди (рдЕрдХреНрд╖рд░реЛрдВ рдФрд░ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ) рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рдлреЙрд░реНрдо рдкрд░ рд▓рдЯрдХрд╛рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╣реА рдЯреЛрдХрди рдХреЛ рдареАрдХ рдХрд░рдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)ред рдФрд░ рдлрд┐рд░, рдлреЙрд░реНрдо рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЗрди рдЯреЛрдХрди рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдпрджрд┐ рд╡реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:
рдбреЗрд╡рд▓рдкрд░ рдХреА рд╕рд╛рдЗрдЯ рдкрд░ index.php рдлрд╝рд╛рдЗрд▓ <?php session_start(); $token = ''; if (function_exists('mcrypt_create_iv')) { $token = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM)); } else { $token = bin2hex(openssl_random_pseudo_bytes(32)); } $_SESSION['token'] = $token; ?> ... <form action="action.php" method="POST"> <input type="text" name="username"> <textarea name="message"></textarea> <input type="hidden" name="csrf_token" value="<?php echo $token;?>"> <input type="submit" value=" "> </form>
рдлрд╝рд╛рдЗрд▓ рдХрд╛рд░реНрд░рд╡рд╛рдИ <?php session_start(); if ($_POST) { if ($_SESSION['token'] == $_POST['csrf_token']) { echo ' !'; } else { echo '!'; } }
рдЬрд╛рдирд╡рд░ рдмрд▓ рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрд╛рд╕рд╡рд░реНрдб
рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣рдорд▓рд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рд▓рдЧрднрдЧ рд╣рд░ рдкрд╣рд▓реА рдлрд┐рд▓реНрдо рдХреЛ рд╣реИрдХрд░реНрд╕ рдФрд░ рдкрд╕рдВрдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ред
рдХреНрдпрд╛ рд╣реИ рдмрд┐рдВрджреБ: рд╕рд╛рдЗрдЯ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдк рд╣реИред рд╣рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЬреЙрди рдХреЛ рдирд╣реАрдВ рдкрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдкрд╛рд╕ рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╡рд╛рд▓реА рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИред рдФрд░ рд╡рд╣ рдЦреБрд╢реА рд╕реЗ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдЖрдЬрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреМрдбрд╝рддрд╛ рд╣реИред
рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреНрдпрд╛ рд╡рд┐рд░реЛрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдзред
рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдлреЙрд░реНрдо рдХреЗ рд╢реБрд░реБрдЖрддреА рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЗрд╕ рддрд░рд╣ рджреЗрдЦреЗрдВ:
Index.php рдлрд╝рд╛рдЗрд▓ <?php $opt = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC]; $pdo = new PDO("mysql:host=localhost;dbname=".$db,$user,$pass,$opt); $pdo->exec("SET CHARSET utf8"); if (isset($_POST['autoriz'])) { $username = htmlspecialchars(trim($_POST['login'])); $password = htmlspecialchars(trim($_POST['password'])); $query = $pdo->prepare("SELECT * FROM `users` WHERE `username`=:username AND `password`=:password"); $query->execute(['username' => $username,'password' => $password]); $find_user = $query->fetchAll(); if ($find_user) { echo ' !'; } else { echo ' !'; } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Brute Force Public Passwords</title> </head> <body> <form method="POST"> <input type="text" name="login" placeholder="Login"> <input type="password" name="password" placeholder="Password"> <input type="submit" value="" name="autorize"> </form> </body> </html>
рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ: рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдордп рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рд╣реИред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм рд╣рдо рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХреБрдХреАрдЬрд╝ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред рдФрд░ рдЕрдм, рдЬрдм рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 5 рд╕реЗрдХрдВрдб рдореЗрдВ 1 рдмрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдпрд╛ рд▓реЙрдЧрд┐рди рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рджрд░реНрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдЕрдЧрд▓реЗ рдкреНрд░рдпрд╛рд╕ рддрдХ 5 рд╕реЗрдХрдВрдб рддрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рдмрдврд╝рд╛рдПрдВрдЧреЗред
Index.php рдлрд╝рд╛рдЗрд▓ <?php $count_next_minit = $_COOKIE['count_try'] ? $_COOKIE['count_try'] : 1; $seconds_to_new_try = 5; $opt = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC]; $pdo = new PDO("mysql:host=localhost;dbname=".$db,$user,$pass,$opt); $pdo->exec("SET CHARSET utf8"); if (isset($_POST['autorize'])) { if ($_COOKIE['last_try']) { if ($_COOKIE['last_try'] < time() - $seconds_to_new_try * $count_next_minit) { $username = htmlspecialchars(trim($_POST['login'])); $password = htmlspecialchars(trim($_POST['password'])); $query = $pdo->prepare("SELECT * FROM `users` WHERE `username`=:username AND `password`=:password"); $query->execute(['username'=>$username,'password'=>$password]); $find_user = $query->fetchAll(); setcookie('last_try', time(), time() + 3600); if ($_COOKIE['count_try']) { $old_value = (int)$_COOKIE['count_try']; setcookie('count_try', $old_value + 1, time() + 3600); } else { setcookie('count_try', 1, time() + 3600); } if ($find_user) { var_dump(' !'); } else { var_dump(' !'); } }else{ var_dump(' ! ' . $seconds_to_new_try * $count_next_minit . ' '); } }else{ setcookie('last_try', time(), time() + 3600); } } ?>
рдкрд╢реНрд╡-рдЕрдиреБрд░реЗрдЦрди
рдмреИрдХрдЯреНрд░реЗрд╕ рд╕рд┐рд╕реНрдЯрдо рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдпрд╣ MySQL рдФрд░ PHP рджреЛрдиреЛрдВ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреЙрди рдиреЗ рдПрдХ рдЧрд▓рдд рдпреВрдЖрд░рдПрд▓ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдПрдХ рддреНрд░реБрдЯрд┐ рджреА рдЧрдИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреЛрдИ рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рд╣реИ (рдпрджрд┐ рдкрддрд╛ рдмрд╛рд░ рд╕реЗ рдЖрдИрдбреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ - site.ru/article?id=12)ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рддрдерд╛рдХрдерд┐рдд "рдбреЙрд░реНрдХ" рднреА рд╣реИрдВ - рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрддреЗ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрдЯрд░реНрди, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд╕реЗ рдЬреЙрди рдХреЗ рд▓рд┐рдП рдкрддреЗ рдХреА рдЗрд╕ рд╕реВрдЪреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдЦреБрд▓ рдЬрд╛рддреА рд╣реИред
рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ? рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд┐рдирд╛ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓реЙрдЧ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрд╡рдпрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЙрддреНрдкрд╛рджрди рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░реЗрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдпрд╣ error_reporting () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЬрд┐рди рддрд░реНрдХреЛрдВ рдореЗрдВ рдпрд╣ рд▓рдЧрддрд╛ рд╣реИ рд╡реЗ рд╣реИрдВ: E_ERROR, E_WARNING, E_PARSE, E_NOTICE, E_ALLред рдирд╛рдо рдЕрдкрдиреЗ рд▓рд┐рдП рдмреЛрд▓рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк error_reporting (E_NOTICE) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдиреЛрдЯрд┐рд╕ рдкреНрд░рдХрд╛рд░ (рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐ $ _POST рд╕рд░рдгреА рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ) рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЫрд┐рдкрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ), рдЖрдкрдХреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛: error_reporting (0)
рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐рдпрд╛рдБ
рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдХреБрдЫ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рд▓рд╛рдкрд░рд╡рд╛рд╣реА рд╕реЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рд╡реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдкреЙрдк рдЕрдк рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХрднреА-рдХрднреА рд╣рдо рдпрд╣ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреА рдЬрдбрд╝ рдХрд╣рд╛рдВ рд╣реИред рдпреЗ рд╕рд╛рдЗрдЯ рдХреЗ рддрд░реНрдХ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред
рдареАрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреЗ рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рд╕рддреНрд░ рдФрд░ рдХреБрдХреАрдЬрд╝ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдбреЗрдЯрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреГрд╖реНрда рддрдХ рдкрд╣реБрдВрдЪ рдЦреЛрд▓реАред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЖрдкрдХреЛ рдмрдЪрд╛рдПрдЧреА - рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╕рдордп, рд╕реЛрдЪреЗрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд╣реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
DDOS
DOS рдПрдХ рддрдХрдиреАрдХ рдкрд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣рдорд▓рд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВред рд╣рдорд▓реЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдорд╢реАрди рдХреЛ рдЕрдзрд┐рднрд╛рд░ рдХреЗ рдХрд╛рд░рдг рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИред DDOS рдореЗрдВ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рдЕрдВрддрд░ рд╣реИ рдХрд┐ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рд╣рдорд▓реЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдпрд╣реА рд╣реИ, рдЬреЙрди рдЕрдкрдиреЗ рджреЛрд╕реНрддреЛрдВ рдХреЛ рдмреБрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рд╡реЗ рдПрдХ рд╕рд╛рде рд╕рд╛рдЗрдЯ рдкрд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдмреЙрдЯрдиреЗрдЯ рдХреЛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ? рдПрдХ рдмреЛрдЯрдиреЗрдЯ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрдХреНрд░рдорд┐рдд рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИрдВ, рдЦрд╝рд╛рд╕рд┐рдпрдд рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЛ рдХреБрдЫ рд╣рдж рддрдХ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЖрджрд┐)ред рд╡реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд░реНрд╡рд░ рд▓реЛрдб рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛, рдмрд╣реБрдд рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдпрд╛ рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдХреЗ рд▓рд┐рдП рдордирд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред
рдРрд╕реЗ рд╣рдорд▓реЛрдВ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдпрд╛ рддреЛ рдореЗрдЬрдмрд╛рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдпрдВ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ, рдпрд╛ рдХреНрд▓рд╛рдЙрдбрдлрд╝реЗрдпрд░ рдЬреИрд╕реА рд╡рд┐рд╢реЗрд╖ рд╕реЗрд╡рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ред
рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ: рдХреНрд▓рд╛рдЙрдбрдлрд╝реЗрдпрд░ рд╕реЗрд╡рд╛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ DNS рд╕рд░реНрд╡рд░ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдкрд╛рд╕ рд╣реЛрдЧрд╛ рд╡рд╣рд╛рдВ рдЗрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рд▓рд┐рдХреЛрдВ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЬреНрдЮрд╛рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реБрдПред рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдпреВрдЬрд░ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рдВ, рдмреЗрд╢рдХ, рд╕рд░реНрд╡рд░ рдСрдкрд░реЗрд╢рди, рдкреЗрдЬ рдЬрдирд░реЗрд╢рди рдФрд░ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрднреА рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреАрдбреАрдУрдПрд╕ рдХреА рдмрд╛рдд рдХрд░реЗрдВ, рддреЛ рдХреЛрдИ рднреА рдЖрдИрдкреА рдкрддреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХреНрд▓рд╛рдЙрдбрдлрд╝реЗрдпрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд╣рд╛рдВ, рдпрд╣ рд╕рдм рд╕реБрд░рдХреНрд╖рд╛ рдХреА 100% рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХрдИ рдмрд╛рд░ рд╣рдорд▓реЗ рдХреЗ рд╕рдордп рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдХреЗ рдмрдВрдж рд░рд╣рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдмрдврд╝ рдЬрд╛рдПрдЧреАред
MITM
рдореИрди рдЗрди рдж рдорд┐рдбрд▓ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣рдорд▓рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рд╣рдорд▓рд╛рд╡рд░ рдЖрдкрдХреЗ рдкреИрдХреЗрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЦрд░рд╛рдм рдХрд░ рджреЗрддрд╛ рд╣реИред рд╣рдо рд╕рднреА рдиреЗ рд╕реБрдирд╛ рд╣реИ рдХрд┐ рдкреИрдХреЗрдЯ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, http рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдбреЗрдЯрд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд░реВрдк рдореЗрдВ рдирд╣реАрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдорд┐рддреНрд░ рдХреЛ "рд╣реИрд▓реЛ" рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╣ "рдореБрдЭреЗ рдкреИрд╕реЗ рднреЗрдЬреЗрдВ, рдпрд╣рд╛рдБ рдмрдЯреБрдЖ рд╣реИ"ред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдерд╛ рдЬреЛ https рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдбреЗрдЯрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЬреЙрди рдкреНрд░рд╛рдкреНрдд рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдФрд░ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП https рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЦреИрд░, рдпрд╛ рдЯреАрдПрд▓рдПрд╕ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЯреАрдПрд▓рдПрд╕ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдПрд╕рдПрд╕рдПрд▓ рд░рд┐рд╕реАрд╡рд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрд╕рдПрд╕рдПрд▓ 3.0 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЙрдирдХреЗ рдХрд╛рдо рдореЗрдВ рдХреЛрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИрдВред
рдПрд╕рдПрд╕рдПрд▓ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╡рд╣реА рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдФрд░ рдореБрдлреНрдд рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдкрд┐рдЫрд▓реЗ рджрд░рд╡рд╛рдЬреЗ
рдереЛрдбрд╝рд╛ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрддред рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХрдИ рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╕рд╛рд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдмреИрдХрдбреЛрд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЧреБрдкреНрдд рд╣рдорд▓рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдпрдВ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХреБрдЫ рдХрд░рддреА рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рдпреЗ рдПрдХ рдЯреЛрд░реЗрдВрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рд╡рд░реНрдбрдкреНрд░реЗрд╕ рдереАрдо рд╣реИрдВред рдкреНрд▓рдЧрдЗрди / рдереАрдо рд╣реА рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд▓рдЧрдЗрди / рдереАрдо рдХреЗ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝реА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЯреБрдХрдбрд╝рд╛ рдЧреБрдкреНрдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕реНрдкреИрдоред рдпрд╣ рдзрд╛рд░ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрд╡рд╛рдВрдЫрдиреАрдпрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ
рд╣рд╛рдВ, рдмреЗрд╢рдХ, рдпрд╣ рд╣рдорд▓реЛрдВ рдХреА рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЬреНрдЮрд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдмрдврд╝рд╛рдПрдЧрд╛ред