1
0
mirror of https://github.com/php/doc-tr.git synced 2026-03-23 23:02:09 +01:00
Files
archived-doc-tr/security/variables.xml
Nilgün Belma Bugüner 6c4c12b00a update for sync with English docs.
git-svn-id: https://svn.php.net/repository/phpdoc/tr/trunk@312395 c90b9560-bf6c-de11-be94-00142212c4b1
2011-06-23 05:33:22 +00:00

108 lines
3.6 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: ab6785b01ce1006e3a9761988575289f40c9b678 Maintainer: sezer Status: ready -->
<!-- splitted from ./index.xml, last change in rev 1.66 -->
<chapter xml:id="security.variables" xmlns="http://docbook.org/ns/docbook">
<title>Kullanıcıdan Gelen Bilgi</title>
<para>
<acronym>PHP</acronym> de yazılmış bir uygulamanın en zayıf noktası, dilin
kendisinde olan bir sorun değil, yazılan uygulamanın bazı varsayımlara
dayanarak güvenliği göz önünde bulundurmamasıdır. Bundan dolayı bir uygulama
yazarken güvenliğe önem vermeli ve kullanıcıdan gelen bilginin varsayıma
dayanmadan denetlenmesini sağlamasınız.
<example>
<title>- Tehlikeli Değişken Kullanımı</title>
<programlisting role="php">
<![CDATA[
<?php
// kullanıcının ev dizininden bir dosyayı silelim...
// acaba başka birininkini mi silecek?
unlink ($fena_veri);
// Girişle ilgili kayıt tutalım...
// acaba /etc/passwd dosyasına mı yazacak?
fwrite ($fp, $fena_veri);
// Denemek için birşeyler çalıştıralım...
// acaba tüm dosyaları silecek bir 'rm -rf' komutu mu?
exec ($fena_veri);
?>
]]>
</programlisting>
</example>
</para>
<para>
Kod yazarken her zaman yazdıklarınızı dikkatlice inceleyip, kullanıcıdan
gelen bilgilerin doğru ve tam şekilde denetlenip onaylandığına emin olmanız
gerekir. Kullanıcıdan gelen bilgiyi alıp işleme koyduğunuz her durumda
kendinize şu soruları sorabilirsiniz:
<itemizedlist>
<listitem>
<simpara>
Bu betik benim istemediğim dosyalara erişim, değişiklik veya silme
imkanı veriyor mu?
</simpara>
</listitem>
<listitem>
<simpara>
Beklenmeyen bir bilgi geldiğinde de istenilen işlem yapılacak mı?
</simpara>
</listitem>
<listitem>
<simpara>
Bu betik başka bir amaç için kullanılabilir mi?
</simpara>
</listitem>
<listitem>
<simpara>
Bu betik sistemde varolan başka betiklerle birlikte kötü amaçlı
kullanılabilir mi?
</simpara>
</listitem>
<listitem>
<simpara>
Yapılan işlemler daha sonra inceleme amacıyla kayda alınacak mı?
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Yaptığınız projenin uygunluğuna göre kod yazmadan önce ve yazarken bu
soruları sık sık kendinize sormanız, proje bittiğinde değerlendirme yapıp
değişiklikler yapmanızdan çok daha faydalı olacaktır. Bu sayede proje
tasarımını güvenlik düşünülerek yapmış olacak ve daha sonra güvenlik
dolayısıyla ciddi değişiklikler yapma zorunluluğunuz ortadan kalkacaktır.
Güvenliğe vereceğiniz öncelikli önem, daha sonra yapacağınız ve güvenliği
riske atacak değişikliklerden çok daha faydalıdır.
</para>
<para>
Belirtilen bir değişkenin değerini, kaynağı veya geçerliliği bozacağını
düşündüğünüz register_globals, magic_quotes ve benzeri ayarlarları
kapatmanız iyi olabilir. Hata bildirim kipi 'error_reporting(E_ALL)'
kullanımı, aynı zamanda uyarıları da göstereceği için kodunuzda sorun olup
olmadığı hakkında daha iyi bilgi verebilir.
</para>
</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
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/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
-->