2009-10-24 5 views
0

Ce que j'ai vu: http://www.dapper.net/dapp-factory.jsp Dapper semble avoir résolu ce problème. Vous pouvez charger n'importe quel site externe et lancer javascript dessus. Je ne sais pas comment cela est fait. Ils utilisent proxy, comme http://www.worldofwarcraft.com charges. Worldofwarcraft.com va détecter n'importe quel proxy et le bloquer (j'ai testé cela).Pourquoi mon proxy est-il bloqué mais pas dapper?

le proxy j'utilise:

MA PROCURATION:

GET /ip/headers HTTP/1.1 
Host: www.ioerror.us 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729) 
Accept-Language: en-us,en;q=0.5 
Accept-Encoding: gzip 
Connection: close 

proxy pimpant:

GET /ip/headers HTTP/1.1 
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 (.NET CLR 3.5.30729) Dapper/0.6 
Accept-Encoding: gzip,deflate 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 
Host: www.ioerror.us 

Une autre proxy qui ne charge pas worldofwarcraft.com

GET /ip/headers HTTP/1.1 
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729) 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-us,en;q=0.5 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Keep-Alive: 300 
Connection: keep-alive 

Répondre

1

Tu vas toujours être bloqué par la même politique d'origine - si vous ne l'étiez pas, créer des sites de type «man in the middle» qui utilisent un iframe pleine page pour charger, par exemple, votre banque serait facile. Même votre exemple www.dapper.net utilise des proxies - l'iframe créé pour www.worldofwarcraft.com est /ServerNavigator?factoryId=40042&namespace=top&url=http%3A%2F%2Fwww.worldofwarcraft.com

+0

question est ce qu'ils font différent qui permet worldofwarcraft.com de charger? – likeafly39

+0

file_get_contents ("worldofwarcraft.com") le charge avec succès. mais comment rendre le JS et tout ça? c'est frustrant. – likeafly39

+0

Leur proxy est quelque peu différent du vôtre? J'imagine que ça passe à travers certains en-têtes qui ne sont pas les vôtres, probablement avec un certain niveau de réécriture pour faire fonctionner les choses comme des cookies (surtout). –

0

Ceci est une répétition assez inutile de votre précédente question. Vous ne voulez peut-être pas l'accepter, mais les scripts inter-sites dans un domaine que vous ne contrôlez pas sont interdits pour de très bonnes raisons.

Ils ne sont certainement pas en utilisant procuration

Oui, ils sont. Naturellement, pour que les liens relatifs (aux scripts ou autres ressources) fonctionnent, vous devez analyser la page et changer tous les hrefs/srcs/etc, ou, plus facilement, ajouter/modifier la balise <base>. (Dapper fait beaucoup plus de changements que cela.)

Les proxies ne seront jamais les plus rapides, mais si vous êtes déterminé à montrer le contenu d'un autre site dans votre propre contexte, c'est le seul jeu en ville. Vous pouvez améliorer les performances en mettant en cache à votre fin; en effet, il serait impoli de ne pas le faire. Si les serveurs Web commencent à voir votre site tirer une grande partie de leur bande passante en les mandatant, ils bloqueront probablement l'accès à votre adresse IP.

+0

ouais je suis convaincu proxy est le seul moyen d'y aller. btw, je suis curieux de savoir pourquoi worldofwarcraft.com bloquerait mon proxy mais pas dapper's. J'ai ajouté la différence dans les sorties d'en-tête. – likeafly39

+0

Qu'est-ce que vous obtenez de retour? Une erreur? Vous vous attendez à une redirection 302 en tant que première étape, puis une réponse codée en gzip (est-ce que vous gérez réellement gzip? Est-ce que quelque chose est fait par la fonction que vous appelez pour récupérer la page?) – bobince

Questions connexes