"Telefon ana sayfası" olan uzantılar nasıl belirlenir?


10

Arka planda uzak bir sunucuya HTTP istekleri gönderen kodu tanımlamanın bir yolu var mı?

Geliştirme makinemde sivilceli bir resepsiyon aldığımda, birçok dükkanın yüklenmesi, uzun sürmesi ve hatta localhost üzerinde çalışması uzun sürdü.

Sivilceli bağlantım nedeniyle bazı uzak sunucuların yanıt vermesinin uzun zaman alması nedeniyle bir his var. Bu istekleri tanımlamak ve kaldırmak istiyorum, çünkü canlı kurulumları da yavaşlatabileceklerinden korkuyorum, örneğin harici sunucu çalışmıyorsa veya yavaşsa ...


1
Lütfen bu aramaları kaldırma izniniz olup olmadığını not edin / kontrol edin. Muhtemelen izin verilir, ancak uzantı gereksinimlerinden biri olduğu örnekleri gördüm.
David Mulder

Yanıtlar:


8

Yığında herhangi bir ilgili web sunucusunda bir komut satırı (Bash) işlevi ile yapıyoruz,

monitor_outbound ()
{
  tcpflow -p -c -i bond0 '( port 80 or port 443 ) and ' $(ip addr list | grep -Eoh "([0-9]{1,3}\.){3}[0-9]+" | sort -u | awk '{print "src host " $1 " or"}' | tr '\n' ' ' | sed -E 's# or $##g') | grep --line-buffered -oE '(GET|POST|HEAD) .* HTTP/1.[01]|Host: .*' | sed --unbuffered "s/^/$(date "+%b %d %T"): /g"
}

Bunun da ötesinde, Magento'daki CURL / fopen yöntemlerinden faydalanabilirsiniz (ancak bunu yapmak için çekirdek yöntemleri kullanmakla uğraşmadıkları varsayılır), çoğu zaman özel modüllerin açık file_get_contents()veya curlyöntemlerini kullandığını göreceksiniz .

Bir basitle hızlı bir kontrol yapabilirsiniz grep(kodun gizlenmediği varsayılarak)

grep -ilrE "curl|file_get_contents|fopen|Zend_Http_Client" app/code/local app/code/community

@Marius'un aşağıda söylediği gibi, yöntemlerini base64şifrelenmiş dizelerde gizleyebilecek gizlenmiş modülleri arayın.

grep -ilrE "eval[\t ]+\(" app/code/local app/code/community

Yukarıdaki CLI yöntemiyle ilgili tek sorun, giden HTTP istekleri için son derece etkili olsa da, HTTPS (trafiğin şifreli olduğu göz önüne alındığında) için işe yaramazsa, alacağınız en iyi şey bir IP / ana bilgisayar adıdır, ancak başka bir şey değildir.


2
Ayrıca eval, bu evalişlevlerde neler olup bittiğini görmek ve görmek isteyebilirsiniz . Telefon evinde kullanılan uzantıların çoğu, evaltelefon numaralarını kolayca bulamazsınız.
Marius

2
eval'S için de normal ifade içerecek şekilde güncellendi
Ben Lessani - Sonassi

1

Yanıtlanması zor - bazı üçüncü taraf uzantıları uzak bir sunucuya istek gönderiyorsa, isteğin nasıl oluşturulduğuna bağlı olarak bu çok çeşitli şekillerde olabilir. Bu tür örnekleri bulmak için en iyi seçeneğiniz (potansiyel olarak uzun soluklu olmasına rağmen) aslında uzantı kodunu incelemektir, ne yazık ki böyle şeyleri tanımlamak için herhangi bir battaniye yöntemi yoktur.

Hangi uzantıları yüklediğiniz veya nasıl oluşturuldukları hakkında hiçbir fikrim yok, uzantı iyi geliştirilmişse, bu tür bir iletişimin ön uç performansını asla etkilemeyecek şekilde yapılması gerektiğini ekleyeceğim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.