Farklı IP her zaman Başlarken

4 Cevap php

Ben bir facebook fan sayfası için bir anket komut dosyası oluşturma:

http://www.facebook.com/apps/application.php?id=115400635147687&v=app_115400635147687

Ben kullanarak IP alıyorum:

$_SERVER['REMOTE_ADDR']

Ama sorun sayfayı yenileyin, ya da bir ajax arama yapmak her zaman, her IP değişmiş olmasıdır. Birisi facebook birçok IP'ler, vekiller olduğunu söyledi.

Belirli bir IP adresinden bir kullanıcı olarak bir kez, yine bunu yapmak mümkün olmamalı ki Temelde, veritabanında IP kaydetmeniz gerekir.

Bu çözüm ya da alternatif nedir?

4 Cevap

IP engelleme gerçekten şeyler (insanlar aynı ortak IP paylaşımı konusunda dikkate almak gerekir) yapmanın güvenilir bir yol değildir. Bir Facebook uygulaması olduğu için, bunun yerine Facebook hesabınıza oturum yerine tarafından bloke edemez?

Ben bağlantılı sayfanın üstündeki IP ile uğraşıyoruz ne olduğunu varsayalım. Bir whois yaparsak:

$ whois 69.63.181.250

OrgName:    Facebook, Inc.
OrgID:      THEFA-3
Address:    1601 S. California Ave
City:       Palo Alto
StateProv:  CA
PostalCode: 94304
Country:    US

NetRange:   69.63.176.0 - 69.63.191.255
CIDR:       69.63.176.0/20

Biz bu IP'ler değil kullanıcılara Facebook'un sunucularına ait olduğunu bulmak.

Ben doğru ne oluyor anlamak Birisi uygulamasından bir sayfa istediğinde, Facebook'un sunucuları kendi adına sizden bunu talep. Bu durumda, sadece kullanıcıların IP'leri almak mümkün olmayacaktır.

Facebook'ta bir fan sayfası geliştirirken, Facebook sunucuları aslında bir vekil olarak hareket unutmayın. Yani, kullanıcının tarayıcı o Facebook'un sunucularında içeriği almak için web sitenize bir talepte, sayfa için Facebook sorar. Herhangi bir geri aramaları ilk Facebook sunucularına geçmesi, böylece Facebook sunucusu daha sonra tüm bağlantıları ve Javascript yeniden yazar.

Sonunda, size never sunucu üzerinde kullanıcının "gerçek" IP adresini göreceksiniz demektir: Sadece hiç Facebook'un IP adreslerini göreceksiniz.

Anladığım kadarıyla bu, gizlilik nedenleriyle yapılır. Bu kullanıcı açıkça onlar hakkında herhangi bir "kimlik" bilgi almak mümkün olacak önce uygulama kendi profilini erişmek için izin gerekir olduğunu.

Sonunda mükemmel bir çözüm bulundu. Eğer ajax yazı yapmak Temel olarak, kullandığınız kullanıcının kimliği alabilirsiniz:

$_POST['fb_sig_user']

Cevaplarınız için hepinize teşekkürler. Önümüzde iyi günler / geceler :)