İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Usta phpcilere bir soru

yoktur

0
İyinet Üyesi
Katılım
28 Ekim 2004
Mesajlar
2,366
Reaction score
1
Konum
/etc/istanbul.c
işin içinden çıkmadıgım basit bir sorunum var.Ekteki zip dosyasında.
localhostunuza atın ve bak.html dosyasını çalıştırın.ayrıntılar orada var arkadaşlar.
 
C

cappytoi

Misafir
yoktur link verilince bunu anlaman için kişinin koyduğu linkin sayfasına gidip kontrol etmen lazım. bunu php ile ancak öyle yapabiliriz. img olarak çağırıldığında ise $_SERVER["HTTP_REFERER"]; 'ı kullanarak bunu engelleyebilirz fakat spoof ile biri bunu aşabilir. gönderdiğinden anladığım bu. oturup kod yazmadığım için kusura bakmazsın umarım :)
 

yoktur

0
İyinet Üyesi
Katılım
28 Ekim 2004
Mesajlar
2,366
Reaction score
1
Konum
/etc/istanbul.c
:eek:
bu işin içinden çıkamadım ben.
<img src=bak.php> şeklinde kullanılarak bak.php dosyasının çalıştırılmasını nasıl engellerim.sorunum bu:eek:
 

soyturk

0
İyinet Üyesi
Katılım
17 Nisan 2005
Mesajlar
5
Reaction score
1
Konum
istanbul
Bunu .htaccess ile yapanlar var. ama ben bilmiyorum.

php ile ise şoyle yaparsın
$site_adresi = "http://www.sitem.com";


if($HTTP_REFERER == $site adresi)
{
// gözükebilir
}
else
{
//gözükemez
}
 

hdogan

0
İyinet Üyesi
Katılım
14 Ekim 2004
Mesajlar
693
Reaction score
2
Konum
Ankara
IMG ayraci ile cagirildiginda da HTTP_REFERER bilgisi geliyor (sanki normal tiklanmis gibi).

Detayi ozelden gonderdim, tekrar IFRAME kullanarak ayri bir PHP dosyasi ile islemler yapildiginda IMG icinde cagirilan dosya IFRAME'i cagirmiyor.

Yani bak.php IFRAME ile bak2.php gibi birsey cagiracak ve bak2.php dosyasi gercek islemi yapacak.
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
63
Konum
Sakarya
Engellemeyi ayni domain icinde yapabilirsin, .php programinin domaini ile <img taginin domaini farkli ise engelleyemezsin, cross domain scripting engellemesi nedeni ile denied mesaji alirsin.
Umarim baska bir cozumu vardir, varsa bilmek isterim.
 

hdogan

0
İyinet Üyesi
Katılım
14 Ekim 2004
Mesajlar
693
Reaction score
2
Konum
Ankara
Ornek vereyim:

in.php istatistikleri tutan dosyamiz, ve normalde uyeler buna baglanti veriyorlar olsun:

in.php:
<iframe src="in2.php?id=<?=$_GET['id'] ?>" width="0" height="0" frameborder="0"></iframe>
<!-- burda bir de gelen kisiyi bir yerlere yazdirmak lazim daha sonra eslestirma yapilacak -->

in2.php
<!-- bu dosya icinde in.php tarafindan bir yerlere yazilmis bilgi ile karsilastirma yapilip istatistik islemleri yapilacak -->

gibi.

Simdi durust site sahibi soyle kullanir:
<a href=toplist.adresi/in.php?id=1234>X Toplist</a>

Sahtekar site sahibi ise:
<img src=toplist.adresi/in.php?id=1234>

<IMG> ile cagirilan in.php IFRAME icindeki in2.php'yi cagirmayacaktir. in.php ve in2.php arasinda cesitli yontemler kullanilarak (oturum, cerez, bir dosyaya/veritabanina yazdirarak) eslestirme kontrolleri yazilabilir (daha once in.php calisti mi calismadi mi kontrolu - ilerde kisi in2.php?id=1234 diyerek cagirmasin...)

:)
 

yoktur

0
İyinet Üyesi
Katılım
28 Ekim 2004
Mesajlar
2,366
Reaction score
1
Konum
/etc/istanbul.c
Angelo' Alıntı:
Ben anlayamadim soruyu tam olarak.

Soru tam olarak şu
iyinet.com gibi bir toplistimiz var diyelim.topliste ziyaretçi yollayanları sitede yayınlıyor admin.
Bazı üyeler sahte ziyaretçi yollayarak ziyaretçi gönderen sıralamasınında hile yapıyor. Aşagıdaki şekilde diyelim.
<img src=gel.php?id=XX width="0" height="0">

Bu nasıl engellenebilir.Yani gel.php dosyası eger ki <img src ile çagrılıyorsa çalışmayacak.
 
C

cappytoi

Misafir
hdogan' Alıntı:
Ornek vereyim:

in.php istatistikleri tutan dosyamiz, ve normalde uyeler buna baglanti veriyorlar olsun:

in.php:
<iframe src="in2.php?id=<?=$_GET['id'] ?>" width="0" height="0" frameborder="0"></iframe>
<!-- burda bir de gelen kisiyi bir yerlere yazdirmak lazim daha sonra eslestirma yapilacak -->

in2.php
<!-- bu dosya icinde in.php tarafindan bir yerlere yazilmis bilgi ile karsilastirma yapilip istatistik islemleri yapilacak -->

gibi.

Simdi durust site sahibi soyle kullanir:
<a href=toplist.adresi/in.php?id=1234>X Toplist</a>

Sahtekar site sahibi ise:
<img src=toplist.adresi/in.php?id=1234>

<IMG> ile cagirilan in.php IFRAME icindeki in2.php'yi cagirmayacaktir. in.php ve in2.php arasinda cesitli yontemler kullanilarak (oturum, cerez, bir dosyaya/veritabanina yazdirarak) eslestirme kontrolleri yazilabilir (daha once in.php calisti mi calismadi mi kontrolu - ilerde kisi in2.php?id=1234 diyerek cagirmasin...)

:)
unutturmadan kötü niyetli birine karşı ne yapsan nafile, sonuç olarak ulaşılabilir.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Pratik bir cozum gelmedi aklima, Src ile cagirildiginda nasil bir referrer bilgisi veriyor bilmedigim icin. Bir spider yazilip her gun veritabanindaki uye siteleri gezip linki img ile mi a href ile mi verdigini kontrol edebilir, cok uzun bir kod olmaz mesela. Nasil olur?
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
63
Konum
Sakarya
Susma! sustukca sira sana gelecek!
isin saka yani bir tarafa, yoktur un bu konuyu gundeme getirmesi iyi oldu.
Hile, toplistlerin genel problemi.
Toplist sahibi, yoneticisi, kodcusu olanlarin bilgi paylasiminda bulunmasinin, herkes icin faydali olacagi kanisindayim.
 

cpa

0
İyinet Üyesi
Katılım
29 Temmuz 2004
Mesajlar
102
Reaction score
0
yoktur, eğer page rank önemli değilse üyelere javascript kod kod vererek rasgele link oluşturarak bunu aşabilirsin.

Üyelere verilen kod
<script language="javascript" src="http://www.xyz.com/js.php"></script>

js.php de şöyle bir çıktı oluştursun.

document.write('<a href="http://www.xyz.com/bak.php?kod=YHFJGYR">Link</a>');

Bu rastgele kodun da kaydedildiği table yapısı da şöyle olsun :
ip | kod

Veritabanında her ip için 1 rastgele kod oluşturulması sağlansın ve linke tıklanınca bak.php de bu kod doğru mu kontrol edilsin. Doğruysa veritabanından silinsin ve linke tıklama sayısı 1 artırılsın. Yani sonuçta link değişken olacağı için üyeler bu sayfayı <img> tagında gösterseler bile tıklama olarak sayılmayacaktır.
 

MoD

0
İyinet Üyesi
Katılım
8 Nisan 2005
Mesajlar
1,722
Reaction score
2
Konum
Bursa
Angelo' Alıntı:
Pratik bir cozum gelmedi aklima, Src ile cagirildiginda nasil bir referrer bilgisi veriyor bilmedigim icin. Bir spider yazilip her gun veritabanindaki uye siteleri gezip linki img ile mi a href ile mi verdigini kontrol edebilir, cok uzun bir kod olmaz mesela. Nasil olur?

Orumcekte dahil olunca sevimli bir hal aldi.Kesin cozum bu mudur su an tam bilmiyorum ama benim fikrimde bu yonde.
Referrer adreslerin tutuldugu veritabanini baz alarak orumcegin kontrolu mantikli. Ama birde performans faktoru varki, bunuda cok uyeli toplistlerin sahiplerinin gorusleri onemli. Zira senin yada benim makale yada download sitelerimiz icin veri toplayan botlarla binlerce site ve onbinlerce alt sayfadan olusabilecek bir referrer veritabandaki adresleri gezerken harcanacak olan zaman,performans ..vs ayri bir etken olacaktir.

@hdogan , bence cozum harika. susulacak neden yok :)
 

symbiantech

0
İyinet Üyesi
Katılım
12 Nisan 2005
Mesajlar
0
Reaction score
0
Konum
izmit
php ile pek bilgim yok sizin kadar ama link kontrol scriptleri var herkese özel bir link verip bunları kontrol edebilirsin. bak.php içinede bir kontrol koyup link dogru ise yaz kırık ise yazdırma şeklinde bir sorguyla olmazmı? acaba olsa bile kullanışlı olurmu ki

örnek uygulama:
http://www.softbizscripts.com/scripts/linkchecker/
 
C

cappytoi

Misafir
symbiantech' Alıntı:
php ile pek bilgim yok sizin kadar ama link kontrol scriptleri var herkese özel bir link verip bunları kontrol edebilirsin. bak.php içinede bir kontrol koyup link dogru ise yaz kırık ise yazdırma şeklinde bir sorguyla olmazmı? acaba olsa bile kullanışlı olurmu ki

örnek uygulama:
http://www.softbizscripts.com/scripts/linkchecker/
bu dediğin, konuya biraz alakasız @symbiantech.

spider günde bir kez rastgele bir saatte çalıştırılırsa evet hile minimuma inebilir. ama fazla üyesi olan toplistler için sorun teşkil edebilir. ama yine de en uygun çözüm yolu bu. ek olarak javascript + php kullanarak rastgele numaralarla çalışan farklı toplist sistemleri hatırlıyorum. bu tip farklı çözümlere de gidilebilir.
 

symbiantech

0
İyinet Üyesi
Katılım
12 Nisan 2005
Mesajlar
0
Reaction score
0
Konum
izmit
@cappytoi örnek verdiğim scripti bak.php dosyasına include edip herseferinde bunu çalıştırıp ordaki onay mesajını bir değişkene atarak karşılaştırma yapılarak olabilir img ile kullanılırsa zaten değişkene 0 değeri atanacağı için dosyaya yazılmayacaktır. Bir problemi çözmenin bir çok yolu vardır. Bu biraz kullagı tersten tutmaya çalışmak gibi birsey ama sadece bir yol fikir alış verişi olması açısından yazdım. gereksiz ise mod arkadaslar mesajı silebilirler.
 

hdogan

0
İyinet Üyesi
Katılım
14 Ekim 2004
Mesajlar
693
Reaction score
2
Konum
Ankara
Tobe yav, dedigim IFRAME cozumunu yapin calisiyor daha ne diyeyim. IMG ile kisi calistirinca IFRAME icindeki calismiyor. Normal baglanti verince IFRAME icindeki calisiyor.
Alin size kod deneyin:

bak.php icerigi:

Kod:
<?php
$fp = fopen("test.txt", "a+");
fwrite($fp, "1: ".$HTTP_REFERER."\n");
fclose($fp);
?>
<iframe width=0 height=0 frameborder=0 src=bak2.php></iframe>

bak2.php icerigi:

Kod:
<?php
$fp = fopen("test.txt", "a+");
fwrite($fp, "2: ".$HTTP_REFERER."\n");
fclose($fp);
?>

test.html icerigi:

<img src=bak.php> <!-- sahte baglanti -->

test2.html icerigi:

<a href=bak.php>Durust Baglanti</a>

Kendinize bir tane test.txt olusturun CHMOD 666 yapin.

Firefox/Netscape/Opera ile deneme yapan olursa cok sevinirim, ben IE 6 ile denedigimde IMG ile cagirildiginda bak2.php calismiyor. Bundan sonra olay bak.php ile bak2.php arasindaki senkronizasyonu saglamak, onu da siz dusunun.
 

symbiantech

0
İyinet Üyesi
Katılım
12 Nisan 2005
Mesajlar
0
Reaction score
0
Konum
izmit
merhaba iframe güzel ama hile yapan kişi direk olarak bak2.php link verirse ne olucak? bunun içinde bir çözüm olması gerek encode yapılabilir. ancak hile yapmak isteyen yine yapacaktır.
 

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.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst