Nasıl php ile gizli bir javascript bağlantı giderebilirim?

2 Cevap php

Ben web sayfalarında PHP ile sonraki ardına bir sürü ayrıştırmak çalışıyorum, ama ben ilk sayfasını fopen zaman, aşağıdaki sayfalara bağlantılar javascript saklı olduğunu fark ettim.

Ben bir sonraki web sayfalarını ayrıştırmak için devam edebilirsiniz yine de var mı? Url içine şifreli "sayfa = 2" gibi bir değişken olsaydı ben onlar aracılığıyla bu şekilde gitmek istiyorum, ama adresler şifrelenir.

-LPG

2 Cevap

Temelde iki seçeneğiniz var:

  1. Onların mantığı taklit
  2. Geçerli bir müşteri taklit

Eğer # 1 ile gitmek isterseniz kendi Javascript kodunu okumak ve nasıl çalıştığını anlamaya gerekir. Kendi kod üzerinde çok fazla bağlı olduğundan ben gerçekten o bundan daha iyi izah edilemez; Sadece Javascript ve "grok" kendi kod bilmek zorunda. Ardından, kod "sonraki sayfa" URL oluşturmak için aynı mantığı yetinmek.

Kendi sistem AJAX kullanır eğer hala (tıkla upvote söylediklerini aksine) onu taklit edebilirsiniz. Eğer tarayıcınızın "perde arkasında" kendi sunucusuna göndererek ne izleyebilirsiniz böylece bunu yapmak için sadece, Firebug Firefox uzantısı gibi bir araç kullanın. Ardından, kod onların AJAX isteği taklit eden sahte bir HTTP isteği göndermek olun. Aslında bile Firebug gibi bir araç olmadan, bu yapabilirdi: sadece anlaması tarayıcınızın Javascript kodu bakarak göndereceğiz ne. Eğer kundakçı gibi bir şey kullanırsanız Ancak, (yerine çıkarım, sen sadece yollananların görebilirsiniz) işler çok daha kolay hale getirir olacaktır.

Yerine # 1 ile gitmek isterseniz, gerçek bir tarayıcı kullanabilirsiniz (ve selenyum gibi bir şey kullanarak programlama kontrol) etmek gerekir, ya da Javascript çalıştırmak için Rhino gibi bir şey kullanmak olacaktır. Selenyum gibi bir kontrol sistemi ile gerçek bir tarayıcı kullanarak muhtemelen gitmek için en kolay yoludur; o sayfaları ve bu işlemek için tarayıcınızı gereken zaman ile sınırlı olarak ancak, yavaş olacaktır. Rhino veya benzeri bir şey kullanarak bir çözüm daha hızlı olacak, ama aynı zamanda (tüm ilgili JS dosyaları, vb dahil, size HTML ayrıştırmak gerekir) çok daha fazla çalışmaları içerecektir, bu yüzden ben tavsiye ederim sadece bir olarak son çare.

Tek yolu javascript bağlantıları ayrıştırır ve onları takip eden bir düzenli ifade yazmak olacaktır. Sayfa url javascript kodu, örneğin olsaydı, bu büyük ihtimalle sadece çalışmak:

<a href="javascript:open('something/some_page.html');">Something</a>

yerine sadece

<a href="javascript:open(someField.value);">Something</a>

İkinci örnek, aslında çok zor olabilir PHP kullanarak javascript bağlantısını, işlemek zorunda çünkü.

Her site farklı onların URL'leri biçimlendirir, çünkü web sitesi özgü düzenli ifadeler oluşturmak zorunda olacağını da unutmayın. Yani Cnn.com Reddit.com daha farklı onların adresler biçimlendirmek olabilir