form'dan post edilen bilgiyi $degisken olarak gormuyor?

0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
formdan post ile gönderdiğim bilgiyi $degisken olarak değil $_POST['degisken']; seklinde goruyor.

bu sorunu roottan nasıl düzeltebilirim, biri ayrıntılı olarak anlatabilir mi acaba?
 
0
Onaylı Üye
Üye
Katılım
22 Mart 2006
Mesajlar
1,143
Tepki puanı
1
Konum
dev
whereis php.ini

php.ini nin olduu yeri al

pico php.ini nin olduu yer

CTRL+W register_globals = OFF

bunu ara sonra OFF yerine ON yap
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
Tepki puanı
106
Konum
AZ
+
# service httpd restart
ile apache yeniden baslatilmali.
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
evet, başlatmadan olmamıştı, onuda ben hayal gücümden şettirdim sağol yeniden :)
 
K
kepche
Misafir
register_globals degerinin on olması durumunun güvenliğin için büyük sorun olabileceğini de söyleyeyim, içimde kalmasın :)
eğer hazır script çalıştırmak istiyorsan, değiştirmeye üşeniyorsan, (ki hazır script lerin kodlarını başkaları da bulabilir muhtemelen) tehlikeli olabilir.
eğer hazır script kullanmıyorsan, kendi yazdıgın kodlarda tavsiyem off olarak kullan, $_POST['degisken'] , vs. gibi al değişkenlerini.
php.net de register_globals ve tehlikeleri hakkında bir yazı var, hatta google dan register globals ve security kelimelerini yanyana aratırsan, olası tehlikeler ve çözümleri hakkında fikir sahibi olabilirsin.
 
0
Onaylı Üye
Üye
Katılım
14 Ekim 2004
Mesajlar
693
Tepki puanı
2
Konum
Ankara
Artik bu register_globals = Off olayina alisin.
PHP 6 ile birlikte artik register_globals diye bir direktif kalmayacak. Ve butun degiskenler super-globaller ile kullanilabilecek. (2007'de kararli surumu cikacak buyuk ihtimal - su anda deneme surumleri var)
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
ne gibi bir tehlikesi var register_globals'ı açmanın ?
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
Tepki puanı
106
Konum
AZ
Scriptte kullandigin butun degiskenleri basit bir get ile degistirebilirsin cunku. Mesela check degiskeni herhangi birseyi kontrol eden mekanizma olsa senin scriptinde,

if ($check == 1) {
// kontroldan gectin
}
else {
// kaldin
}

index.php?check=1 diye cagirdim. Ne oldu simdi?:)

---

mysql'e query yolluyorsun post'tan gelen. ama register_globals acik.

mysql_query("SELECT * FROM kullanici WHERE user='$user' AND password='$password'");

Ben o sayfaya post yapmiyorum, get yapiyorum
action.php?user=xxx&password=' OR 1=1

1=1 kosuluna uyan datayi cekebilirim, yani butun datayi kisaca.
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
evet, sakat bişeymiş en güzeli scripti düzenleyip, bu fonksiyonu kapatmak ;)
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
register_globals 'i kapattım ama şimdi farklı bi problemim var ve sanırım o özelliğin kapalı olmasından kaynaklanıyor.

- admin2 ve pass2, formdan gelen bilgi.
- admin ve pass 'da conf daki bilgi (gerçi buna gerek yokta yazıyım dedim :p)

<?
extract($HTTP_GET_VARS);
extract($HTTP_POST_VARS);

include ("ayar.php");
setcookie ("mha[admin]", $admin2, time()+3600);
setcookie ("mha[pass]", $pass2, time()+3600);
echo $mha[admin];
echo $admin2;
echo $pass2;
/*if ( ($admin == $admin2) && ($pass == $pass2) )
{
header("location:yonetim.php");
}
else
header("location:index.php");
*/
?>

bilgi geliyor mu diye denediğimde $admin2 ve $pass2 gelen değeri echoluyor fakat, $mha[admin] değeri yansıtmıyor.

sanırım, register_globals kapalıyken farklı bir şekilde cookie attırmak gerek ama nasıl ?
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
$HTTP_COOKIE_VARS kullanmak gerekiyormuş, çözdüm.
 
0
Onaylı Üye
Üye
Katılım
29 Mart 2005
Mesajlar
2,025
Tepki puanı
1
Konum
ankara
hdogan' Alıntı:
Artik bu register_globals = Off olayina alisin.
PHP 6 ile birlikte artik register_globals diye bir direktif kalmayacak. Ve butun degiskenler super-globaller ile kullanilabilecek. (2007'de kararli surumu cikacak buyuk ihtimal - su anda deneme surumleri var)
ben şu an php öğreniyorum. php6'da bu superglobal'in kalkacağını nereden öğrendin/takip ediyorsun.cahil kalmayalımda :)
 
0
Onaylı Üye
Üye
Katılım
14 Ekim 2004
Mesajlar
693
Tepki puanı
2
Konum
Ankara
OnurSqL' Alıntı:
ben şu an php öğreniyorum. php6'da bu superglobal'in kalkacağını nereden öğrendin/takip ediyorsun.cahil kalmayalımda :)
PHP gelistirme e-posta listeleri (php.net'in) ve gelistiricilerinin (Andrei, Zeev, Derick, Rasmus, vs) toplanti notlarindan. Ve tabiki PHP6'nin deneme surumunden ;)
 
0
Onaylı Üye
Üye
Katılım
22 Mart 2006
Mesajlar
1,143
Tepki puanı
1
Konum
dev
biliyordum :D en sonunda benim dediklerimi yapacaklarını biliyordum sefiorum onları :)
 
Geri
Üst