Sistem kaynaklarını sömüren Wordpress eklentileri
Th‘yi Twitter‘dan takip edenler hatırlayacaktır bir kaç gündür sistem kaynaklarımı ve trafiğimi sömüren birşeyler olduğundan yakınıp duruyordum. Bu olayın farkına varmam ne yazık ki güzel bir kazık(!) sayesinde oldu. 2 gün önce Teknoloji Herşeyim, öğlen saatlerinde 1-2 saat süreyle kapalı kaldı. Bu sırada hosting sağlayıcım olan IHS ile görüştüm ve bana aylık trafiğimi 60 gb civarında aştığımdan dolayı 55 YTL fatura itelediklerini söylediler. Kendileri bu ödeme ile ilgili bana 27 Temmuz’da bir mail göndermişler ancak ben o maili görmemişim. Siteyi de bu parayı ödemediğimden dolayı kapatmışlar. Hemen ödemeyi yaptım ve blogum tekrar çalışır duruma geldi ancak aylık trafiğimi nasıl 60GB birden aştığımı merak ettiğimden dolayı bir takım araştırmalar yapmaya başladım. Sonuçta bu blog 3-4 aydır 30 GB aylık trafik harcıyordu ve bir anda bu nasıl 2 katına çıkmıştı?
Şimdi sizlere Plesk’ten aldığım bazı istatistikleri sunacağım. İşte kaynaklarımı sömüren ilk 5 canavar.
1- 763528kb /wz_dragdrop.js
2- 388692kb /wp-content/themes/TriologyNext/style.css
3- 362773kb /key-odemeleri-ve-tc-kimlik-numarasi/
4- 305396kb /wp-content/plugins/cforms/js/cforms.js
5- 196180kb /wp content/plugins/cforms/styling/fancy_white.css
Kullanılan miktarları topladığımda yaklaşık 1.7 gb/gün gibi bir harcama ortaya çıkıyor ki bu da aylık neredeyse 50-60 gb bir veri transferi demek oluyor. Kaynaklarımı sömüren bu uygulama ve scriptlerin başını wz_dragdrop adlı script çekiyor. Bu script, header da kullandığım Twitter tasarımını hareket ettirmeye yarıyordu ama artık yaramıyor çünkü anında kaldırdım. Trafiğimi yiyip bitiren diğer uygulama ise Cforms eklentisi. Bu eklentiyi de blogumda kullandığım iletişim formları için kurmuştum.
Ne yazık ki bu 2 eklentiyi kullanmak bana extra 50 YTL’ye patladı ve daha da önemlisi blogumun 1-2 saat bile olsa kapanmasına neden oldu. Küçük bir javascript dosyasının gigabytelarca veriyi nasıl yiyip bitirdiğini de anlayabilmiş değilim ayrıca. Çünkü kodlarını incelediğimde anormal bir durum göremedim. Aramızda javascript uzmanları mutlaka vardır, onlar bu soruna daha net cevap verebilirler diye düşünüyorum?
Bu eklentileri kukllanıyorsanız aman dikkat diyeyim!
Javascript ile üzerine gelince değişen resim
Web siteniz için bir imaj hazırladınız ve resmin üzerine gelince arka tarafta yüklenmiş başka bir resmin görünmesini istiyorsunuz diyelim. Bunun için çok basit bir Javascript kodu bulunuyor. Öncelikle şu java script kodunu, kullanacağınız sayfada <body> etiketinden sonra tanımlayın:
<SCRIPT LANGUAGE=”JavaScript” type=”text/javascript”>
<!– Değişen resim
if(document.images) {
pics = new Array();
pics[1] = new Image();
pics[1].src = “resim1.jpg”;
pics[2] = new Image();
pics[2].src = “resim2.jpg”;
}function changer(from,to) {
if(document.images) {
document.images[from].src = pics[to].src;
}
}
//–>
</SCRIPT>
Daha sonra bu değişen resim çalışmasını kullanacağınız yere aşağıdaki kodu ekleyin:
<a onMouseOver=”changer(‘img1′,2)” onMouseOut=”changer(‘img1′,1)” href=”http://www.teknolojiherseyim.com”>
<img name=”img1″
border=”0″ vspace=”0″ hspace=”0″ src=”resim1.jpg” alt=”alttag”></a>
Artık kullandığınız resim1.jpg üzerine mouse imlecini getirdiğinizde resim2.jpg görünecek, mouse imlecini resmin üzerinden çektiğinizde ise tekrar resim1.jpg görünecek. Çalışan örneği görmek için Teknoloji Herşeyim logosunu deneyin (:
İstediğiniz web sitesini değiştirin
Dikkat! Dikkat! Bu bir hack yöntemi değildir (: Aşağıdaki kodu tarayıcınızın adres satırına yapıştırıp entera basın ve sonra açık olan web sitesinin istediğiniz yerini değiştirin, silin, mıncıklayın (:
javascript:document.body.contentEditable=’true’; document.designMode=’on’; void 0
Daha sonra aşağıdaki kodu yazıp entera basın ve sitedeki tüm resimler yerinden oynasın (:
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.getElementsByTagName(“img”); DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position=’absolute’; DIS.left=(Math.sin(R*x1+i*x2+x3)*x4+x5)+”px”; DIS.top=(Math.cos(R*y1+i*y2+y3)*y4+y5)+”px”}R++}setInterval(‘A()’,5); void(0);





