• TC Kimlik Numaranızı onaylayarak iyinet.com'dan tam olarak yararlanabilirsiniz. Konu açabilmek ve açılan konulara yazabilmek için lütfen Türkiye Cumhuriyeti Kimlik Numaranızı doğrulayın. Doğrulama ile ilgili hata alıyorsanız, kimlik ön yüzündeki Ad Soyad, Doğum yılı ve TC Kimlik numarası görünecek şekilde kimlik resmini bize gönderebilirsiniz.

    deneme bonusu veren siteler cratosroyalbet pubg uc smm panel smm panel

session_register da sorun..

Bilgiler
Katılım
10 Eylül 2006
Mesajlar
206
Reaction score
0
Puanları
0
208 Aydır Üye
selam arkadaşlar..

kullanıcı girişi yapılan bi sistemim var. iki dosyasında verileri kullanırken sorun yaşıyorum..

login yapıldıysa login.php de sql_port u register ediyorum, ve session_start ile başladığım sayfalarda bu değeri yazdırabiliyorum sorunsuz.

lakin..

sql_port değerini AYAR.PHP de kullanmak için AYAR.PHP de session_start 'ladım ve kullandım.

bide FONKSIYON.PHP de kullanmak istedim bu sql_port u.. AYAR.PHP, FONKSIYON.PHP dosyasında include halde bulunuyor. Bu yüzden birdaha sessioın_register yapmaya calıstığımda Already registered diyor. Yani session açık gibi görünüyor. ama fonksiyon.php 'de sql_port u yazdırınca undefined cıkıyor. yani..:

ayar.php :

Kod:
<?

session_start();

$deneme  =  "Portunuz : ". $sql_port;

?>

Fonksiyon.php:

Kod:
<?
include("ayar.php");
session_start();

function bak ($sql_port) {
echo "ayarladığınız port $sql_port";
}

?>

fonksiyon.php de sql_port u kullanmak için session_start yaptım. ama hemen öncesinde içinde session_Start bulunan ayar.php i include ettim. Eldeki session_Start lar 2 oldu. 1 e indirmek için fonksiyon.php deki start ı siliyorum. ayar.php deki start dan yararlansın diye. ama undefined variable oluyor sql_port.

ne yapabilirim :(
 

iyinet

Root
Admin
Bilgiler
Katılım
2 Eylül 2002
Mesajlar
5,021
Reaction score
53
Puanları
51
Şube
Sakarya
257 Aydır Üye
Oncelikle php.ini de "register globals" i guvenlik nedeni ile kapatmani tavsiye ederim.
Bunun ardindan $_SESSION['degisken'] ile session verilerine ulasabilirsin.
"register globals" acik oldukca degiskenler hep birbirine karisacaktir.
 
Bilgiler
Katılım
10 Eylül 2006
Mesajlar
206
Reaction score
0
Puanları
0
208 Aydır Üye
register globals ı sanırım bi aralar yine aynı uygulamadaki uploadla yada başka bişeyle ilgili bölümü yaparken açmak zorunda kalmıştım. tam hatırlayamıyorum, kapalı iken bazı değişkenleri kullanamıyordum sanırım.. şimdi güvenlik dedinde, korktum birden. güvenlik acısından neden kapatmalıyım? + karışmak derken zararı nedir belki gerçekten sorunum odur? :)
 

iyinet

Root
Admin
Bilgiler
Katılım
2 Eylül 2002
Mesajlar
5,021
Reaction score
53
Puanları
51
Şube
Sakarya
257 Aydır Üye
register globals ı sanırım bi aralar yine aynı uygulamadaki uploadla yada başka bişeyle ilgili bölümü yaparken açmak zorunda kalmıştım. tam hatırlayamıyorum, kapalı iken bazı değişkenleri kullanamıyordum sanırım.. şimdi güvenlik dedinde, korktum birden. güvenlik acısından neden kapatmalıyım? + karışmak derken zararı nedir belki gerçekten sorunum odur? :)

PHP nin 4.2.0 versiyonundan itibaren "register globals" kapali gelmektedir.
"register globals" acik iken, degisken injeksiyonu yapilabiliyor.

Asagida "register globals" acik iken, "register globals" in acik olma ozelliginden yararlanan bir kullanicinin guvenlik kontrolunu nasil gececegini gosterecegim:

login.php dosyasi:
PHP:
if (kullanici_onaylandimi()) {
   $onaylandi = true;
}
 
if ($onaylandi ) {
   include "admin_bolgesi.php";
}

Bu kodda, kullanici_onaylandimi() fonsiyonu kullaniciya kullanici adi ve sifre soruyor. Eger kabul edilirse $onaylandi degiskenine true degeri ataniyor.

Buraya kadar sorun yok.

Diyelimki "register globals" in acik oldugunu bilen bir kullanici su sekilde bir cagri yapsin:


"register globals" in acik olunca, tum parametreler degiskene cerilir ve bu URL i login.php scripti $onaylandi=1 olarak algilar.

login.php dosyasi:
PHP:
//http://www.siteadi.com/login.php?onaylandi=1
if (kullanici_onaylandimi()) {
   $onaylandi = true;
}
 
// bu bolumde $onaylandi tanimli olmadigi icin GET ile URL den 
// gelen $onaylandi=1 olarak algilanir ve kullanicinin yetkisi 
// olmadigi halde admin alanina giris yapar
if ($onaylandi ) {
   include "admin_bolgesi.php";
}

"register globals" in sorunlari guvenlik ile bitmiyor.
Degiskenler birbirlerini eziyorlar.
Ornegin onay_kodu degiskenini cookie de sakladiginizi varsayalim ve degeri ABCD olsun.
Bu degiskeni http://www.siteadi.com/index.php?onay_kodu=EFGH sekilinde URL GET ile aldiginizda, $onay_kodu=EFGH olmaz, cookie deki deger olur!
 
Bilgiler
Katılım
10 Eylül 2006
Mesajlar
206
Reaction score
0
Puanları
0
208 Aydır Üye
teşekkür ederim iyi bir açıklama oldu.

Son olarak..

include("ayar.php");

yaptıktan sonra, ayar.php deki verileri fonksiyonda kullanamıyorum. yani ayar.php de, $isim="Ahmet"; ise, fonksiyon.php deki şu şekil kullanım olmuyor:

<?

include("ayar.php");

function deneme () {
echo $isim;
}

?>


ayar.php i include ediyorum ama fonksiyon içine çağıramıyorum değişkeni. vardı bunun bi yolu. global mıydı neydi :eek:
 

iyinet

Root
Admin
Bilgiler
Katılım
2 Eylül 2002
Mesajlar
5,021
Reaction score
53
Puanları
51
Şube
Sakarya
257 Aydır Üye
teşekkür ederim iyi bir açıklama oldu.

Son olarak..

include("ayar.php");

yaptıktan sonra, ayar.php deki verileri fonksiyonda kullanamıyorum. yani ayar.php de, $isim="Ahmet"; ise, fonksiyon.php deki şu şekil kullanım olmuyor:

<?

include("ayar.php");

function deneme () {
echo $isim;
}

?>


ayar.php i include ediyorum ama fonksiyon içine çağıramıyorum değişkeni. vardı bunun bi yolu. global mıydı neydi :eek:

Evet

PHP:
function deneme () {
global $isim;
echo $isim;
}
 
Bilgiler
Katılım
10 Eylül 2006
Mesajlar
206
Reaction score
0
Puanları
0
208 Aydır Üye
tekrar teşekkür ettim iyinet.

iyi akşamlar.
 

Caesar

0
Bilgiler
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
Puanları
0
211 Aydır Üye
hem ayar.php de hemde fonksiyon.php de session_start etmişsin. ayar.php deki yeterli çünkü fonksiyon.php ye include ediyorsun.

ayar.php deki kodlar otomatikman fonksiyon.php ye geliyor zaten
 
  • Yararlı
Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur. iyinet.com sayfalarında yer alan yazı, görsel ve linklerle ilgili hukuki şikayetleriniz için Buradan iletişime geçmeniz durumunda, ilgili kanunlar ve yönetmelikler çerçevesinde en geç 7 gün içerisinde iyinet yönetimince tarafınıza dönüş sağlanacaktır.
Üst