ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ строки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, http://сайт.ru/1?.html, mod_rewrite Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ этот запрос, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ΡˆΠ΅ упомянутая строка Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚воряСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ пСрСнаправлСния. ΠŸΠ΅Ρ€Π΅Π΄ вставкой принятых ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля строковых Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘Π” ΠΈΡ… ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ спСцсимволов ΠΈ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. Π›ΡƒΡ‡ΡˆΠ΅ всСго для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Если ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля трСбуСтся ввСсти тСкст Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ количСства символов, ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π·Π°Π΄Π°Ρ‚ΡŒ свойство maxlength Ρƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ input’Π°, Π½ΠΎ ΡΡ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½, ΠΈΠ±ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ΄Ρ‚ΠΈ ΠΈ Π² ΠΎΠ±Ρ…ΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для этих Ρ†Π΅Π»Π΅ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ substr:

$variable = substr ($HTTP_POST_VARS['variable'], 0, 10);

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов.

ΠŸΠ΅Ρ€Π΅Π΄ вставкой принятых ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля строковых Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘Π” ΠΈΡ… ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ спСцсимволов ΠΈ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. Π›ΡƒΡ‡ΡˆΠ΅ всСго для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ mysql_escape_string:

$sql = «INSERT INTO table VALUES «». mysql_escape_string ($text).

ЧисловыС Π΄Π°Π½Π½Ρ‹Π΅.

Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ числовыС Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм рСкомСндуСтся ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° Ρ‚ΠΎ, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ-Π»ΠΈ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ числами. ДСлаСтся это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ intval:

$myint = intval ($_POST['myint']);

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ адрСса Email.

ΠŸΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ email-адрСс ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ письма, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π΅Π³ΠΎ коррСктности.

Код, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°:

if (!preg_match («/[a-zA-Z0−9_-.+]+@[a-zA-Z0−9-]+. a-zA-Z]+/», $email)) die («Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ email-адрСс»);

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ:

if ($name == «» or $mail == «» or $password == «» or $rpassword == ««).

{ print «Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ поля! «; $er = 1; }.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ $er = 1 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° ошибка [5].

Π’ Π½Π°ΡΡ‚оящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΈ использовании соврСмСнных срСдств internet-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· поля Π²Π²ΠΎΠ΄Π° Π² web-прилоТСния ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ сайта. Π’ ΡΡ‚ΠΎΠΌ случаС содСрТимоС ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ простыми ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сохраняСт врСдоносныС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ особСнно относится ΠΊ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ тСкста ΠΈΠ»ΠΈ строковым Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ‚Π°ΠΊΠΈΡ… ситуациях, содСрТаниС ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ поля Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ нСсанкционированного Π²Ρ…ΠΎΠ΄Π° — Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ‚Π΅Π³ΠΎΠ² ΠΈΠ»ΠΈ SQL ΠΊΠΎΠΌΠ°Π½Π΄. ΠžΡ‚ SQL ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ страдаСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… MySQL, Π½ΠΎ ΠΈ Π»ΡŽΠ±Π°Ρ Π±Π°Π·Π°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ языки запросов (Π° Ρ‚Π°ΠΊΠΈΡ… Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ) [6].

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка PHP:

Mod_rewrite. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄ — вмСсто ссылок Π²ΠΈΠ΄Π° index. php?id=1, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ссылки Π²ΠΈΠ΄Π° html. ΠšΡ€ΠΎΠΌΠ΅ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ это ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ эстСтичСский Π²ΠΈΠ΄ ссылок ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ сайта поисковыми систСмами. РСализация ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² Ρ„Π°ΠΉΠ». htaccess Π²ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ строчки:

RewriteEngine on Options +FollowSymlinks RewriteBase.

RewriteRule ^.htaccess$ - [F].

RewriteRule ^([0−9]*).html index. php?id=$ 1.

Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ строки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, http://сайт.ru/1?.html, mod_rewrite Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ этот запрос, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ΡˆΠ΅ упомянутая строка Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚воряСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ пСрСнаправлСния.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля. ΠšΡ€ΠΎΠΌΠ΅ «ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ» Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΡΠΊΡ€Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ всС опасныС символы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: mysql_real_escape_string.

$data = mysql_real_escape_string ($data, $connect);

Π“Π΄Π΅ $data-пСрСмСнная, хранящая ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля (Π΄Π°Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ со Π²ΡΠ΅ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Π² SQL-запросах!), Π° $connect — ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ MySQL (Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ mysql_connect). Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эта Π·Π°Ρ‰ΠΈΡ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°, Π»ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² SQL-запросС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ:

mysql_query («SELECT * FROM table WHERE id = `$id'»), вмСсто.

mysql_query («SELECT * FROM table WHERE id = $id»).

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ