╚φ±≥≡≤Ω÷ΦΦ ∩ε ≤±≥αφεΓΩσ

╧≡σµΣσ, ≈σ∞ ┬√ φα≈φσ≥σ

┼±δΦ ┬√ αß±εδ■≥φε φσ Φ∞σσ≥σ φΦΩαΩεπε ε∩√≥α ≡αßε≥√ ± Unix, ┬√ ∞εµσ≥σ ∩ε∩≡ε±Φ≥ⁿ Ωεπε-δΦßε, Φ∞σ■∙σπε ⌡ε≥  ß√ φσ∞φεπε τφαφΦΘ ∩ε Unix, ∩ε∞ε≈ⁿ ┬α∞ ± ≤±≥αφεΓΩεΘ ∞εΣ≤δ . ╧≡ε÷σ±± Φφ±≥αδδ ÷ΦΦ φα±≥εδⁿΩε ∩≡ε±≥, φα±ΩεδⁿΩε ²≥ε Γετ∞εµφε, φε ≥αΩ ΩαΩ ∩≡επ≡α∞∞φεσ εßσ±∩σ≈σφΦσ ±Φδⁿφε ≡ατδΦ≈ασ≥±  Φ ταΓΦ±Φ≥ ε≥ ≡ Σα Ωε∞∩εφσφ≥ ±Φ±≥σ∞√, ≤±≥αφεΓΩα φσ Γ±σπΣα ∩≡ε⌡εΣΦ≥ πδαΣΩε φα ≡ατφ√⌡ ±Φ±≥σ∞α⌡. ┬ετ∞εµφε ┬α∞ ∩ε≥≡σß≤σ≥±  ∩ε∞ε∙ⁿ Ωεπε-δΦßε, Ω≥ε ⌡ε≡ε°ε ≡ατßΦ≡ασ≥±  Γ ±Φ±≥σ∞σ.

╫≥ε Γα∞ φσεß⌡εΣΦ∞ε τφα≥ⁿ ∩σ≡σΣ ≤±≥αφεΓΩεΘ

- ╠εµσ≥σ δΦ ┬√ Γ√∩εδφ ≥ⁿ εßα ∞σ≥εΣα GET Φ POST Φτ ∩≡επ≡α∞∞√ cgi φα Γα°σ∞ ±σ≡Γσ≡σ?
▌≥ε φσ Γαµφε, σ±δΦ ┬√ ≤±≥αφαΓδΦΓασ≥σ ∩αΩσ≥ Γ ΓΦΣσ ∞εΣ≤δ  Apache. ┼±δΦ φσ≥, ┬√ φσ ±∞εµσ≥σ Φ±∩εδⁿτεΓα≥ⁿ ²≥ε≥ ∩αΩσ≥. ╙ ∞φεπΦ⌡ ISP CGI ±Ω≡Φ∩≥√ ≥αΩµσ τα∩≡σ∙σφ√ ΦδΦ ±≥≡επε επ≡αφΦ≈σφ√. ┼±δΦ φα Γα°σΘ ±Φ±≥σ∞σ Σσδε εß±≥εΦ≥ Φ∞σφφε ≥αΩ, ∩επεΓε≡Φ≥σ ± Γα°Φ∞ ±Φ±≥σ∞φ√∞ αΣ∞ΦφΦ±≥≡α≥ε≡ε∞ Φ ∩ε∩≡ε±Φ≥σ, ≈≥εß√ εφ(εφα) Γτπδ φ≤δ(α) φα ²≥ε≥ ∩αΩσ≥, ∞εµσ≥ εφ(εφα) ≤±≥αφεΓΦ≥ σπε Σδ  ┬α±.

- ┼±δΦ φα Γα°σΘ ±Φ±≥σ∞σ ≤±≥αφεΓδσφ mSQL, ≥ε Γα∞ φ≤µφε τφα≥ⁿ σπε ε±φεΓφεΘ Ωα≥αδεπ.

- ┼±δΦ φα Γα°σΘ ±Φ±≥σ∞σ ≤±≥αφεΓδσφ Postgres95, ≥ε Γα∞ ≥εµσ φ≤µφε τφα≥ⁿ σπε ε±φεΓφεΘ Ωα≥αδεπ.

- ┼±δΦ ┬√ ±εßΦ≡ασ≥σ±ⁿ ⌡≡αφΦ≥ⁿ δεπ-⌠αΘδ Φ ⌠αΘδ√ Ωεφ⌠Φπ≤≡α÷ΦΦ Σε±≥≤∩α Γ Ωα≥αδεπσ, ±∞εφ≥Φ≡εΓαφφε∞ ∩ε NFS, Φ Γα°α ±Φ±≥σ∞α φσ εßσ±∩σ≈ΦΓασ≥ ßδεΩΦ≡εΓαφΦσ ⌠αΘδεΓ ∩ε NFS - ┬α∞ φ≤µφε ß≤Σσ≥ ε∩≡σΣσδΦ≥ⁿ ∩σ≡σ∞σφφ≤■ NFS_HACK Γ≡≤≈φ≤■ Γ ⌠αΘδσ src/Makefile, Φ, Γετ∞εµφε, ∩≡ΦΣσ≥±  Φ±∩εδⁿτεΓα≥ⁿ φσ∞φεπε Φτ∞σφσφφ≤■ Γσ≡±Φ■ ßΦßδΦε≥σΩΦ gdbm. ╤∞. ⌠αΘδ nfs_hack.txt Γ Ωα≥αδεπσ doc Σδ  ßεδσσ ∩εΣ≡εßφεΘ Φφ⌠ε≡∞α÷ΦΦ ε≥φε±Φ≥σδⁿφε ²≥επε.

- ╬ß≡α≥Φ≥σ ΓφΦ∞αφΦσ, ≈≥ε, σ±δΦ ┬√ φσ ταΦφ≥σ≡σ±εΓαφ√, ≈≥εß√ ∞εΣ≤δⁿ PHP ε≥±δσµΦΓαδ Σε±≥≤∩ Ω Γα°Φ∞ ±≥≡αφΦ÷α∞, ε≥Ωδ■≈Φ≥σ ²≥≤ ε∩÷Φ■ ∩σ≡σΣ Ωε∞∩Φδ ÷ΦσΘ. ┬√ Σεδµφ√ ≥αΩµσ ε≥Ωδ■≈Φ≥ⁿ ε∩÷Φ■ επ≡αφΦ≈σφΦ  Σε±≥≤∩α. ╧≡Φ ΓΩδ■≈σφΦΦ ²≥Φ⌡ ε∩÷ΦΘ φαßδ■Σα■≥±  τφα≈Φ≥σδⁿφεσ ±φΦµσφΦσ ∩≡εΦτΓεΣΦ≥σδⁿφε±≥Φ.

- ┼±δΦ ┬√ ≤±≥αφαΓδΦΓασ≥σ ∩αΩσ≥ Γ ΓΦΣσ ∞εΣ≤δ  Apache, ┬α∞ φσεß⌡εΣΦ∞ε τφα≥ⁿ ≡α±∩εδεµσφΦσ Ωα≥αδεπα ± Φ±⌡εΣφ√∞Φ ≥σΩ±≥α∞Φ Apache.

╪απΦ ╙±≥αφεΓΩΦ
╪απ 1.

┬√∩εδφΦ≥σ ∩≡επ≡α∞∞≤ ≤±≥αφεΓΩΦ: ./install

┬α∞ ß≤Σσ≥ ταΣαφ ≡ Σ Γε∩≡ε±εΓ. ┼±δΦ ┬√ Φ⌡ φσ ∩εφΦ∞ασ≥σ, ≥ε ∩≡ε±≥ε φαµΦ∞αΘ≥σ "Return". ╟αΣαφφ√Θ ∩ε ≤∞εδ≈αφΦ■ φαßε≡ Σεδµσφ ≤ΣεΓδσ≥Γε≡ ≥ⁿ ≥≡σßεΓαφΦ  Σδ  ßεδⁿ°Φφ±≥Γα ±Φ±≥σ∞. ▌≥ε εΣφαΩε φσ Φ∞σσ≥ ε≥φε°σφΦ  Ω Γε∩≡ε±α∞, ε∩≡σΣσδ ■∙Φ∞ Ωα≥αδεπ Σδ  Γα°Φ⌡ Ωεφ⌠Φπ≤≡α÷Φεφφ√⌡ Φ δεπ ⌠αΘδεΓ. ┬√ßσ≡Φ≥σ δ■ßεΘ Ωα≥αδεπ, Ω Ωε≥ε≡ε∞≤ httpd (εß√≈φε ∩εδⁿτεΓα≥σδⁿ "nobody") Φ∞σσ≥ Σε±≥≤∩ ∩ε τα∩Φ±Φ. ┬√ ∞εµσ≥σ ±ετΣα≥ⁿ ²≥ε≥ Ωα≥αδεπ Γ≡≤≈φ≤■ πΣσ-φΦß≤Σⁿ Φ ∩≡ε±≥ε ±∞σφΦ≥ⁿ ΓδαΣσδⁿ÷α ± ∩ε∞ε∙ⁿ■ Ωε∞αφΣ√ chown nobody catalog .

╪απ 2.

┬εΘΣΦ≥σ Γ Ωα≥αδεπ src: cd src

╪απ 3.

┬ΓσΣΦ≥σ Ωε∞αφΣ≤: make

╧ε ≤∞εδ≈αφΦ■ ß≤Σσ≥ ±ετΣαφ ⌠αΩ≥Φ≈σ±ΩΦΘ Γ√∩εδφΦ∞√Θ ∩≡επ≡α∞∞φ√Θ ⌠αΘδ, Φ∞σφεΓαφφ√Θ php.cgi , ΦδΦ σ±δΦ ┬√ ≤±≥αφαΓδΦΓασ≥σ ∩αΩσ≥ Γ ΓΦΣσ ∞εΣ≤δ  Apache, ß≤Σσ≥ ±ετΣαφ libphp.a ⌠αΘδ.

╪απ 4. (┼±δΦ ┬√ φσ ≤±≥αφαΓδΦΓασ≥σ ∩αΩσ≥ Γ ΓΦΣσ ∞εΣ≤δ  Apache)

╤Ωo∩Φ≡≤Θ≥σ ⌠αΘδ php.cgi Γ Ωα≥αδεπ cgi-bin Γα°σΘ ±Φ±≥σ∞√. ┼±δΦ ≤ Γα± φσ≥ ∩≡αΓ ±Σσδα≥ⁿ ²≥ε Φ Γ√ µσδασ≥σ ≤±≥αφεΓΦ≥ⁿ ∩αΩσ≥ Γ Γα° ±εß±≥Γσφφ√Θ ∩σ≡±εφαδⁿφ√Θ Ωα≥αδεπ, Γ√ ∞εµσ≥σ ±Σσδα≥ⁿ ²≥ε, φε Γ ≥αΩε∞ ±δ≤≈ασ φ≤µφε ≤±≥αφεΓΦ≥ⁿ setuid ßΦ≥ Σδ  Γ√∩εδφ σ∞εΘ ∩≡επ≡α∞∞√ Ωε∞αφΣεΘ: chmod u+s /path/php.cgi

┼±δΦ ┬√ φσ ≤±≥αφεΓΦ≥σ setuid ßΦ≥ Σδ  Γ√∩εδφ σ∞επε ⌠αΘδα, ≥ε δ■ß√σ ⌠αΘδ√, ±ετΣαφφ√σ ∩≡επ≡α∞∞εΘ ß≤Σ≤≥ ∩≡ΦφαΣδσµα≥ⁿ ∩εδⁿτεΓα≥σδ■ ± ΦΣσφ≥Φ⌠ΦΩα≥ε≡ε∞, ∩εΣ Ωε≥ε≡√∞ Γ√∩εδφ σ≥±  web ±σ≡Γσ≡. ┼±δΦ ²≥ε ∩≡Φσ∞δσ∞ε, ≥ε Γ√ ∞εµσ≥σ ±∩εΩεΘφε ε±≥αΓΦ≥ⁿ setuid ßΦ≥.

╪απ 4. (┼±δΦ ┬√ ≤±≥αφαΓδΦΓασ≥σ ∩≡επ≡α∞∞≤ Γ ΓΦΣσ ∞εΣ≤δ  Apache)

╧σ≡σΘΣΦ≥σ Γ Ωα≥αδεπ src Apache, Γ Ωε≥ε≡√Θ Σεδµφ√ ß√≥ⁿ ±Ωε∩Φ≡εΓαφ√ ⌠αΘδ√ mod_php.c Φ mod_php.h. ┼±δΦ εφΦ σ∙σ φσ ß√δΦ ±Ωε∩Φ≡εΓαφ√, ≈≥ε ∞εµσ≥ ∩≡εΦτεΘ≥Φ Φτ-τα ∩≡εßδσ∞ ± ∩≡αΓα∞Φ Σε±≥≤∩α, ±Ωε∩Φ≡≤Θ≥σ ²≥Φ ΣΓα ⌠αΘδα Γ≡≤≈φ≤■. ╧εΣ≡σΣαΩ≥Φ≡≤Θ≥σ Γα° ⌠αΘδ ╩εφ⌠Φπ≤≡α÷ΦΦ Apache (Configuration), Φ ΣεßαΓⁿ≥σ Γ ±≥≡εΩ≤ EXTRA_LIBS libphp.a, Ωε≥ε≡α  ß√δα ±ετΣαφα Γ Ωεφ÷σ ╪απα 3. └ ≥αΩµσ ΣεßαΓⁿ≥σ ±≥≡εΩ≤:

Module php_module mod_php.o

Γ ±α∞ε∞ Ωεφ÷σ ⌠αΘδα. ╟α≥σ∞ ΓΓσΣΦ≥σ: ./Configure Φ τα≥σ∞ make , ≈≥εß√ ∩σ≡σΩε∞∩ΦδΦ≡εΓα≥ⁿ Γα° ⌠αΘδ httpd Apache. ╚φ±≥αδδΦ≡≤Θ≥σ ²≥ε≥ ⌠αΘδ.

╟α≥σ∞ ┬α∞ φ≤µφε ∩εΣ≡σΣαΩ≥Φ≡εΓα≥ⁿ Γα° Apache conf/srm.conf ⌠αΘδ Φ ΣεßαΓΦ≥ⁿ ±≥≡εΩ≤ :

AddType application/x-httpd-php .phtml

▌≥ε ε∩≡σΣσδ σ≥ φεΓ√Θ MIME ≥Φ∩, application/x-httpd-php, Ωε≥ε≡√Θ ß≤Σσ≥ Γ√τ√Γα≥ⁿ ∞εΣ≤δⁿ PHP, Σδ  εß≡αßε≥ΩΦ δ■ßεπε ⌠αΘδα ± ≡α±°Φ≡σφΦσ∞ .phtml. ┬√ ∞εµσ≥σ Γ√ß≡α≥ⁿ δ■ßεσ ≡α±°Φ≡σφΦσ, Ωε≥ε≡εσ Γα∞ ∩ε Σ≤°σ.

╠εµφε ±Σσδα≥ⁿ ≥αΩ, ≈≥εß√ φσ Γ±σ ∞επδΦ Γ√∩εδφ ≥ⁿ PHP ⌠αΘδ√. ─δ  ²≥επε Γ√ ∞εµσ≥σ ∩ε∞σ±≥Φ≥ⁿ Γ√°σ≤∩ε∞ φ≤≥≤■ AddType ±≥≡εΩ≤ Γφ≤≥≡Φ <Location/path > .... < /Location > ΣΦ≡σΩ≥ΦΓ√ Γ access.conf ⌠αΘδσ, ≈≥εß√ ≥εδⁿΩε Γ ε∩≡σΣσδσφφ√⌡ ΣΦ≡σΩ≥ε≡Φ ⌡ Γα°σπε ±σ≡Γσ≡α PHP ∞επ εß≡αßα≥√Γα≥ⁿ ΣεΩ≤∞σφ≥√.

╥σ∩σ≡ⁿ ┬√ πε≥εΓ√ ∩σ≡στα∩≤±≥Φ≥ⁿ Γα° httpd ±σ≡Γσ≡. ─δ  ßεδσσ ∩εΣ≡εßφεΘ Φφ⌠ε≡∞α÷ΦΦ ±∞. ∩≡Φ∞σ≈αφΦ  ∩ε Ωεφ⌠Φπ≤≡Φ≡εΓαφΦ■ ∞εΣ≤δ  Apache.

╥σ±≥Φ≡εΓαφΦσ ∩≡επ≡α∞∞φεπε εßσ±∩σ≈σφΦ 

╧ε±δσ ≤±≥αφεΓΩΦ Γ√ ∞εµσ≥σ ∩≡ε≥σ±≥Φ≡εΓα≥ⁿ, ≡αßε≥ασ≥ δΦ Γα°α ∩≡επ≡α∞∞α, ΓΓσΣ  URL, ∩εΣεßφ√Θ ±δσΣ≤■∙σ∞≤ Γ Γα°σ∞ ß≡ε≤τσ≡σ:

http://your.site.domain/cgi-bin/php.cgi

╧≡Φ ²≥ε∞ Σεδµφα ∩εΩατα≥ⁿ±  ±≥≡αφΦ÷α, Ωε≥ε≡α  ±εΣσ≡µΦ≥ φε∞σ≡ Γσ≡±ΦΦ φα≡ Σ≤ ± Σ≡≤πεΘ ∩εδστφεΘ Φφ⌠ε≡∞α÷ΦσΘ.

╫≥εß√ ∩≡εΓσ≡Φ≥ⁿ ≡αßε≥≤ ∞εΣ≤δ  Apache, ±ετΣαΘ≥σ δ■ßεΘ ⌠αΘδ ± .phtml ≡α±°Φ≡σφΦσ∞, ∩ε∞σ±≥Φ≥σ Γ φσπε ≥²π ∩εΣεßφε: <?phpinfo () > Φ ∩ε±∞ε≥≡Φ≥σ ß≤Σσ≥ δΦ εφ αφαδΦτΦ≡εΓα≥ⁿ± .

╚±∩εδⁿτεΓαφΦσ ∩≡επ≡α∞∞φεπε εßσ±∩σ≈σφΦ 
╫≥εß√ ⌠αΩ≥Φ≈σ±ΩΦ Φ±∩εδⁿτεΓα≥ⁿ ∩≡επ≡α∞∞φεσ εßσ±∩σ≈σφΦσ φα ±≤∙σ±≥Γ≤■∙σ∞ HTML ⌠αΘδσ, ┬√ ∞εµσ≥σ ∩≡ε±≥ε ΣεßαΓΦ≥ⁿ ∩≤≥ⁿ Ω Γα°σ∞≤ ⌠αΘδ≤ Γ√°σ≤∩ε∞ φ≤≥ε∞≤ URL. ╥ε σ±≥ⁿ.

http://your.site.domain/cgi-bin/php.cgi/path/file.html

┬α∞ φ≤µφε Γτπδ φ≤≥ⁿ φα ≡ατΣσδ ╧σ≡σαΣ≡σ±α÷Φ  CGI ²≥εΘ ΣεΩ≤∞σφ≥α÷ΦΦ. ╧≡Φ Γ√∩εδφσφΦΦ PHP/FI ± ∩σ≡σαΣ≡σ±α÷ΦσΘ Γ√ ∞εµσ≥σ αΓ≥ε∞α≥Φ≈σ±ΩΦ ταΣαΓα≥ⁿ ≈≥εß√ URL ∩εΣεßφε http:/your.site.domain/file.phtml ∞επ αφαδΦτΦ≡εΓα≥ⁿ±  PHP/FI.

▌≥ε φσ ε≥φε±Φ≥±  Ω ∩εδⁿτεΓα≥σδ ∞ ∩≡επ≡α∞∞√, Γ√∩εδφσφφεΘ Γ ΓΦΣσ ∞εΣ≤δ  Apache.

[═αταΣ] [╤εΣσ≡µαφΦσ] [┬∩σ≡σΣ]