cvs: phpdoc /tr/features safe-mode.xml

From: Date: Mon, 10 Dec 2001 18:39:22 +0000
Subject: cvs: phpdoc /tr/features safe-mode.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969339610@lists.php.net to get a copy of this message
tpug Mon Dec 10 13:39:22 2001 EDT Added files: /phpdoc/tr/features safe-mode.xml Log: added by Alper up-to-date

Index: phpdoc/tr/features/safe-mode.xml +++ phpdoc/tr/features/safe-mode.xml <?xml version="1.0" encoding="iso-8859-9"?> <!-- $Revision: 1.1 $ --> <chapter id="features.safe-mode"> <title>Güvenli Kip</title> <para> Güvenli kip payla&scedil;&inodot;ml&inodot;-sunucu kavram&inodot;n&inodot;n getirdi&gbreve;i güvenlik sorunlar&inodot;n&inodot; çözmeye yönelik bir ad&inodot;md&inodot;r. Bu sorunu PHP seviyesinde çözmeye çal&inodot;&scedil;mak, mimari aç&inodot;dan do&gbreve;ru de&gbreve;ildir, fakat HTTP sunucusu ve i&scedil;letim sistemi seviyesindeki alternatifler çok gerçekçi olmad&inodot;&gbreve;&inodot;ndan, çok say&inodot;da ki&scedil;i, özellike ISS'ler, &scedil;imdilik güvenli kipi kullan&inodot;rlar. </para> <para> Güvenli kipi kontrol eden direktifler &scedil;unlard&inodot;r: <programlisting role="ini"> <![CDATA[ safe_mode = Off open_basedir = safe_mode_exec_dir = safe_mode_allowed_env_vars = PHP_ safe_mode_protected_env_vars = LD_LIBRARY_PATH disable_functions = ]]> </programlisting> </para> <para> <link linkend="ini.safe-mode">safe_mode</link>'un aktif oldu&gbreve;u zamanlarda, PHP, dosya fonksiyonlar&inodot;yla bir dosya üzerinde i&scedil;lem yapmadan önce o dosyayla çal&inodot;&scedil;makta olan beti&gbreve;in sahiplerini kar&scedil;&inodot;la&scedil;t&inodot;r&inodot;r. Örne&gbreve;in: <programlisting role="ls"> <![CDATA[ -rw-rw-r-- 1 rasmus rasmus 33 Jul 1 19:20 script.php -rw-r--r-- 1 root root 1116 May 26 18:01 /etc/passwd ]]> </programlisting> Bu beti&gbreve;i çal&inodot;&scedil;t&inodot;rmak: <programlisting role="php"> <![CDATA[ <?php readfile('/etc/passwd'); ?> ]]> </programlisting> Güvenli kipin aç&inodot;k oldu&gbreve;u zamanlarda &scedil;unun gibi bir hata ile sonuçlan&inodot;r: <screen> <![CDATA[ Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2 ]]> </screen> </para> <para> E&gbreve;er <link linkend="ini.safe-mode">safe_mode</link> yerine, open_basedir ile bir dizin belirtirseniz, bütün dosya i&scedil;lemleri belirtilen bu dizin alt&inodot;nda gerçekle&scedil;ecektir. Örne&gbreve;in (Apache httpd.conf örne&gbreve;i): <programlisting role="ini"> <![CDATA[ <Directory /docroot> php_admin_value open_basedir /docroot </Directory> ]]> </programlisting> Ayn&inodot; script.php beti&gbreve;ini bu open_basedir ayar&inodot;yla çal&inodot;&scedil;t&inodot;r&inodot;rsan&inodot;z alaca&gbreve;&inodot;n&inodot;z sonuç: <screen> <![CDATA[ Warning: open_basedir restriction in effect. File is in wrong directory in /docroot/script.php on line 2 ]]> </screen> </para> <para> Ayr&inodot;ca istedi&gbreve;iniz fonksiyonlar&inodot;n kullan&inodot;mdan kald&inodot;rabilirsiniz. Bunu php.ini dosyam&inodot;za eklersek: <programlisting role="ini"> <![CDATA[ disable_functions readfile,system ]]> </programlisting> &Scedil;u ç&inodot;kt&inodot;y&inodot; al&inodot;r&inodot;z: <screen> <![CDATA[ Warning: readfile() has been disabled for security reasons in /docroot/script.php on line 2 ]]> </screen> </para> <sect1 id="features.safe-mode.functions"> <title>Güvenli Kip taraf&inodot;ndan k&inodot;s&inodot;tlanan/iptal edilen fonksiyonlar</title> <para> <link linkend="features.safe-mode">Safe Mode</link> taraf&inodot;ndan k&inodot;s&inodot;tlanan fonksiyonlar&inodot;n listesi büyük ihtimalle halen tam de&gbreve;il ve yanl&inodot;&scedil; olmas&inodot; gayet mümkün: <!-- TODO: add &note.sm.*; to the functions mentioned here. That entity should link to this section --> <table> <title>Güvenli Kip taraf&inodot;ndan k&inodot;s&inodot;tlanan fonksiyonlar</title> <tgroup cols="2"> <thead> <row> <entry>Fonksiyon</entry> <entry>K&inodot;s&inodot;tlama</entry> </row> </thead> <tbody> <row> <entry><function>dbmopen</function></entry> <entry>&sm.uidcheck;</entry> </row> <row> <entry><function>dbase_open</function></entry> <entry>&sm.uidcheck;</entry> </row> <row> <entry><function>filepro</function></entry> <entry>&sm.uidcheck;</entry> </row> <row> <entry><function>filepro_rowcount</function></entry> <entry>&sm.uidcheck;</entry> </row> <row> <entry><function>filepro_retrieve</function></entry> <entry>&sm.uidcheck;</entry> </row> <row> <entry><function>ifx_*</function></entry> <entry>sql_safe_mode k&inodot;s&inodot;tlamalar&inodot;, (!= Güvenli Kip)</entry> <!-- TODO: more info on sql-safe-mode --> </row> <row> <entry><function>ingres_*</function></entry> <entry>sql_safe_mode k&inodot;s&inodot;tlamalar&inodot;, (!= Güvenli Kip)</entry> <!-- TODO: more info on sql-safe-mode --> </row> <row> <entry><function>mysql_*</function></entry> <entry>sql_safe_mode k&inodot;s&inodot;tlamalar&inodot;, (!= Güvenli Kip)</entry> <!-- TODO: more info on sql-safe-mode --> </row> <row> <entry><function>pg_loimport</function></entry> <entry>&sm.uidcheck;</entry> <!-- source TODO: there is no PHP-warning for that safe-mode-restriction --> </row> <row> <entry><function>posix_mkfifo</function></entry> <entry>&sm.uidcheck.dir;</entry> </row> <row> <entry><function>putenv</function></entry> <entry>safe_mode_protected_env_vars ve safe_mode_allowed_env_vars ini-direktiflerine uyar. Ayr&inodot;ca <function>putenv</function> hakk&inodot;ndaki dökümanlara bak&inodot;n&inodot;z.</entry> <!-- TODO: document those directives in chapters/config.xml --> </row> <row> <entry><function>move_uploaded_file</function></entry> <entry>&sm.uidcheck; <!-- TODO: check this --></entry> </row> <!-- TODO: from here on, add warning to the function itself --> <row> <entry><function>chdir</function></entry> <entry>&sm.uidcheck.dir;</entry> </row> <row> <entry><function>dl</function></entry> <entry>&sm.disabled;</entry> </row> <row> <entry><link linkend="language.operators.execution">ters t&inodot;rnak i&scedil;lemi</link></entry> <entry>&sm.disabled;</entry> </row> <row> <entry><function>shell_exec</function> (ters t&inodot;rnaklar&inodot;n fonksiyonal e&scedil;i)</entry> <entry>&sm.disabled;</entry> </row> <row> <entry><function>exec</function></entry> <!-- dirge: practical reasons => pratiksel neden --> <entry>Sadece <link linkend="ini.safe-mode-exec-dir">safe_mode_exec_dir</link> ile belirtilen dizindeki programlar&inodot; çal&inodot;&scedil;t&inodot;rabilirsiniz. Pratiksel nedenlerden ötürü &scedil;u an için programa giden yolda <literal>..</literal> olmas&inodot;na izin verilmiyor.</entry> </row> <row> <entry><function>system</function></entry> <entry>Sadece <link linkend="ini.safe-mode-exec-dir">safe_mode_exec_dir</link> ile belirtilen dizindeki programlar&inodot; çal&inodot;&scedil;t&inodot;rabilirsiniz. Pratiksel nedenlerden ötürü &scedil;u an için programa giden yolda <literal>..</literal> olmas&inodot;na izin verilmiyor.</entry> </row> <row> <entry><function>passthru</function></entry> <entry>Sadece <link linkend="ini.safe-mode-exec-dir">safe_mode_exec_dir</link> ile belirtilen dizindeki programlar&inodot; çal&inodot;&scedil;t&inodot;rabilirsiniz. Pratiksel nedenlerden ötürü &scedil;u an için programa giden yolda <literal>..</literal> olmas&inodot;na izin verilmiyor.</entry> </row> <row> <entry><function>popen</function></entry> <entry>Sadece <link linkend="ini.safe-mode-exec-dir">safe_mode_exec_dir</link> ile belirtilen dizindeki programlar&inodot; çal&inodot;&scedil;t&inodot;rabilirsiniz. Pratiksel nedenlerden ötürü &scedil;u an için programa giden yolda <literal>..</literal> olmas&inodot;na izin verilmiyor.</entry> <!-- TODO: not sure. popen uses a completely different implementation Don't know why, don't know whether it's behaving the same --> </row> <row> <entry><function>mkdir</function></entry> <entry>&sm.uidcheck.dir;</entry> </row> <row> <entry><function>rmdir</function></entry> <entry>&sm.uidcheck;</entry> </row> <row> <entry><function>rename</function></entry> <entry>&sm.uidcheck; &sm.uidcheck.dir;<!-- on the old name only, it seems. Is rename preventing moving files? --></entry> </row> <row> <entry><function>unlink</function></entry> <entry>&sm.uidcheck; &sm.uidcheck.dir;</entry> </row> <row> <entry><function>copy</function></entry> <entry>&sm.uidcheck; &sm.uidcheck.dir; (<parameter>kaynak</parameter> ve <parameter>hedef</parameter> için) </entry> </row> <row> <entry><function>chgrp</function></entry> <entry>&sm.uidcheck;</entry> </row> <row> <entry><function>chown</function></entry> <entry>&sm.uidcheck;</entry> </row> <row> <entry><function>chmod</function></entry> <entry>&sm.uidcheck; Ek olarak SUID, SGID ve sticky bitlerini açamazs&inodot;n&inodot;z.</entry> </row> <row> <entry><function>touch</function></entry> <entry>&sm.uidcheck; &sm.uidcheck.dir;</entry> </row> <row> <entry><function>symlink</function></entry> <entry>&sm.uidcheck; &sm.uidcheck.dir; (not: sadece hedef kontrol ediliyor)</entry> </row> <row> <entry><function>link</function></entry> <entry>&sm.uidcheck; &sm.uidcheck.dir; (not: sadece hedef kontrol ediliyor)</entry> </row> <row> <entry><function>getallheaders</function></entry> <entry>Güvenli Kipte, 'authorization' ile ba&scedil;layan ba&scedil;l&inodot;klar (büyük/küçük harf ayr&inodot;m&inodot; yok) döndürülmez. Uyar&inodot;: Bu <function>getallheader</function> fonksiyonunun aol-server uyarlamas&inodot;nda bozuk!</entry> </row> <row> <entry><filename>php4/main/fopen_wrappers.c</filename> dosyas&inodot;n&inodot; kullanan tüm fonksiyonlar </entry> <entry>??</entry> </row> </tbody> </tgroup> </table> </para> </sect1> </chapter> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->
« previous php.doc (#969339610) next »