• 12-07-2008, 22:13:15
    #1
    Üyeliği durduruldu
    Mrb arkadaslar.

    Ben php de yazdığım kodu çalıştırmak için register_globals ı açmam gerekiyor. Ve duyduğum kadarıyla da bunu açmak tehlikeye sebep oluyormuş.

    Fakat açmadığım ( off ) durumda da değişken kullanamıyorum. Örn isset() ile formdaki verilerin gelip gelmediğine baktığım fonksiyonda, "kutuları doldurmamışsınız" şeklinde yazdığım string dönüyor. Yani gelen POST GET değişkenlerini kullanamıyorum..

    Ne yapmalıyım? Tehlike yaratmak istemem register_globals kapalı kalsın isterim fakat scriptimi çalıştıramıyorum bunları nasıl barıştırırım?
  • 12-07-2008, 22:17:09
    #2
    Üyeliği durduruldu
    global register lar kapalıykende get/post metodunu kullanabilirsiniz. bence sorun sizin kodlarınızda.
  • 12-07-2008, 22:18:21
    #3
    register_global ı on yaparsan

    bilmem.com/php?yl=5&mz=8

    değerini direk olarak $yl=5, $mz=8 olur

    ama off olursa $_GET kullanman gerekir verileri almak için;

    $deg1=$_GET[yl];

    ($deg1=5 olur) gibi..
  • 12-07-2008, 22:18:44
    #4
    Üyeliği durduruldu
    tehlike derken var tehlikeleri ama açık kaynaklı bir script se verileri alırken yönetici şifren mesala
    $x="123";
    if($x=$_POST['sifre'])
    gibi birşeyde get ile ?x=111 yazıp post tan 111 gönderirse bir problem yaratabilir
    bu tarz açıklar artıralabilir şifreleri bu tarz değilde
    ( get x değeri $x değişkenine atanacağından dolayı )
    define('x',"123");
    gibi alırsan ?x=111 le göndersede global varsa açıkta olsa sorun olmaz
  • 12-07-2008, 22:18:46
    #5
    değişkenleri hangi yapıyla alıyorsun?
  • 12-07-2008, 23:31:39
    #6
    Üyeliği durduruldu
    arkadaşlar ben şimdi kontrol ettim. değişkenleri kullanabiliyorum. ama login sistemimde örn.

    login.php:

     
    $sql_adSoyad = mysql_result($sorgulama,0,"adSoyad");
    session_register("sql_adSoyad");
    ana.php:

    echo $sql_adSoyad;
    yapıyorum. gidiyor bana şu hatayı veriyor (reg.glob. off iken)

    Notice: Undefined variable: sql_adSoyad in /var/www/html/ana.php on line 80