You are currently browsing the Webmaster Araçları blog archives for the year 2009.

Archive for 2009

Deniz Kabacalı Yepyeni yazılarıyla sizlerle..

Çarşamba, Aralık 9th, 2009

http://www.peyzajla.com

Deniz Kabacalı Yeni Makaleleriyle Geliyor Çok Yakında…

Salı, Kasım 17th, 2009

Kabacalı Yeni Makaleleriyle Geliyor Çok Yakında…
hakkında herşey ile ilgili yazdığın 100 üzerindde makale ile tüm peyzajcılara ilaç olacak..
Yeni siteburadan duyurulacak….

Deniz Kabacalı Peyzaj Teknikeri Zonguldak

Pazartesi, Temmuz 6th, 2009

Kabacalı Teknikeridir
Çok sayıda makalesi vardır.
http://keskinzeka.com/index./2008/11/01/ahir-gubresi-hazirlamak/
http://keskinzeka.com/index./2008/11/01/kompost-nedir-nasil-hazirlanir/
http://keskinzeka.com/index./2008/11/01/organik-nedir/
http://keskinzeka.com/index./2008/10/26/kan-tozu-ne-ise-yarar/

Bunlardan sadece bazıları…
Zonguldak Merkez

Başarılı Arama motoru optimizasyon için en önemli 5 Madde

Çarşamba, Mayıs 6th, 2009

Burada denemiş ve başarıya ulaşmış olduğum arama motoru için optimizasyon yöntemi ile ilgili açıklama yapacağım bir sitemde bu sadece aşağıda yazdığım maddeleri uygulayarak çok iyi sonuç elde ettim.
Title:Konu Başlığıyla ilgli bir title olabilir her zaman title yazılmalı.
linkler:Linkler konu başlığıyla aynı ve uzantılı yapılmalı.Örnek basarili-arama…icin-en-onemlibasarili-arama-motorlari-optimizasyon-icin-en-onemli-5-madde. gibi
Aynı Kelimede Çok yazıya Sahip olmak:Sitenizde örnek olarak elma ile ilgili bir yazı ,video,oyun yada her neyse bi içerik var ise değişik kollardan aynı konuya hitap eden birden çok yazınız  olmalı.
Başta çıkması gereken Kelimeden diğer siteleri haberdar etmek.:Eğer kelimesi ile ilgili birden çok yazınız varsa kelimesi için diğer siteler size vermiş olmalı.Nekadar çok kişi kelimesi için verirse okadar sayfa prestijiniz artar.Sitenizden az çıkışı yapın.Kesinlikle herşey için diğer sitelere ink vermeyin.
Siteyi Güncel Tutmak:Hedef kelimelerinizle ilgili sürekli içerik ekleyin.Ve bunu her gün yapın.
Ve Özgün İçerik Kullanmak:Yayınladığınız içerik sadece sizde olsun.

Php kodlamada güvenlik

Pazartesi, Mayıs 4th, 2009

Arkadaşlar bir sitede de alınması gereken önlemleri ile ilgili bir makale okudum ve burada sizlerle paylaşmak istedim.
————–

Basit Güvenliği:
script’lerinizin güvenli olduÄŸundan emin olmanız için ilk olarak temel kuralları yerine getirmeniz gerekiyor: kullanıcı girdilerinin (input) filtrelenmesi ve çıktıların (output) kontrolü. EÄŸer bu ikisini doÄŸru olarak yapmıyorsanız script’leriniz her zaman problemleri ile karşı karşıya olacaktır. Bu makale’de bu iki iÅŸlem ile ilgili yapılması gerekenler anlatılıyor.

Bütün Girileri Filtreleyin:
Script’leriniz harici bir kaynaktan girdi okuduÄŸunda, bu verinin tehlikeli olduÄŸu varsayılmalı ve güvenilmemelidir. Güvenilmemesi gereken deÄŸiÅŸkenlerden bazıları: $_POST, $_GET, $_REQUEST ve hatta pek mümkün görünmese de önemli veriler içerebilecek olan $_SERVER .

Tehlikeli bir deÄŸiÅŸkenden gelen veriyi iÅŸlemlere tabi tutmadan önce ilk olarak önce onaylanamanız ve filtrelemeniz gerekmektedir. Onaylama iÅŸlemi ile sadece sizin istediÄŸiniz verileri içerdiÄŸinden emin olabilirsiniz. ÖrneÄŸin bir eposta adresi bilgisi bekliyorsanız, onay fonksiyon’unuz girilen verinin doÄŸru bir eposta adresi olup olmadığını kontrol etmeli.

Hemen basit bir örnekle açıklayalım. Aşağıdaki kodda ilk olarak $_POST değişkeninden e-posta adresini alıyorum ve sonra veriyi onaylama işlemine sokuyorum:

Kodu:
<?
$eposta
= $_POST['eposta'];
# Burada veri hala TEHLİKELİ durumda

// Validate e-mail
if (valid_eposta($eposta) == false) {
// Geçerli bir adres değil
die(‘Geçerli bir eposta adresi deÄŸil!’
);
}
?>

Veriyi kontrol ederek script’imize tehlikeli verilerin eklenmesi riski büyük ölçüde azaltılmış oldu. valid_eposta() fonksiyon’u PHPit Code Snippet veritabanında da bulunabilecek olan standart bir onay iÅŸlemidir.

Verimiz daha güvenli olsa da iÅŸimiz daha bitmedi çünkü hala veriyi MySQL veritabanına yerleÅŸtirmek istiyoruz ve bu iÅŸlemden önce de bazı kontroller yapmamız gerekiyor. tüm önemli karakterlerin escape edildiÄŸi mysql_real_escape_string() standart fonksiyon’unu sunar. DiÄŸer bir yöntem ise SQL sorgusunda veriyi her zaman kesme imleri arasına yerleÅŸtirin.

Önceki örneğimize devam edelim:

Kodu:
<?
$eposta
= $_POST['eposta'];
# Burada veri hala TEHLİKELİ durumda

// Validate e-mail
if (valid_eposta($eposta) == false) {
// Geçerli bir adres değil
die(‘Geçerli bir eposta adresi deÄŸil!’
);
}

// eposta’nın veritabanı için güvenli hale getirilmesi
$eposta = mysql_real_escape_string($eposta
);

// Artık güvenli!
?>

Artık elimizdeki eposta verisi veritabanına güvenli bir şekilde işlenebilir. Hatalardan kaçınmak için tehlikeli değişkenlere bir ön ek verilebilir, örneğin:
Kodu:
<?
$t_eposta
= $_POST['eposta'];
# Tehlikeli

// Onay işlemi

$g_eposta = mysql_real_escape_string($d_eposta);
?>

Bu şekilde tehlikeli bir veriyi işleme sokarken ön tarafındaki t_ eklentisi ile hemen farkına varabilirsiniz.

Çıktıların filtrelenmesi
Girdilerde olduğu gibi dışarıya sunulan tüm verilerin de (güvenli olarak filtreleyip veritabanına işlediğiniz verilerin dahi) filtrelenmesi gerekmektedir.

Filtrelenmesi gereken en önemli ÅŸey probleme yol açabilecek olan tag’leridir. Bunu yapmanın en kolay yolu bütün ’i escape iÅŸlemine sokan htmlentities() fonksiyon’udur:

Kodu:
<?
echo htmlentities($_GET['eposta'
]);
?>
Bu kod (saldırganın sayfalarınıza JavaScript kodları eklemesine ve diÄŸer kullanıcıların cookie’lerini çalmasını saÄŸlayan) muhtemel XSS (çapraz site betik çalıştırma - cross site scripting) saldırılarını kaldırır. EÄŸer mümkünse, htmlentities fonksiyon’unun üçüncü argümanı’nı (encoding/charset tipi) da kullanmalısınız. ’da ’i escape iÅŸleminde düzgün encoding ayarı yapmadığı için XSS saldırısından etkileniyordu. bu açığı 1 aralık’ta kapattı. Basitçe, her zaman encoding tipini belirlemelisiniz:

Kodu:
<?
echo htmlentities($_GET['eposta'], ENT_QUOTES, ‘UTF-8′
);
?>

EÄŸer bütün tag’lerini filtrelemek istemiyorsanız, bazı tag’lere izin vermek istiyorsanız strip_tags() fonksiyon’unu kullanabilirsiniz. Fakat bu, <script> tag’lerini filtreleseniz dahi Javascript ekleme açıklarına karşı bir problemi içerebilir. ör ( <div onclick=”alert(’Hi!’);”> .

DiÄŸer bir yöntem de sadece sizin istediklerinizi filtrelemenize yarayacak kendi fonksiyon’unuzu yazmanız (veya internet’teki yüzlerce hazır fonksiyon’dan birini kullanmanız). Bu bazen en iyi yöntem olabilir fakat herhangi bir ÅŸeyi unutmanız durumunda problemlerine yol açabilir.

Son olarak, çıktıyı filtrelemenin en iyi yolu, üç argümanı ile birlikte htmlentities() fonksiyonunun kullanımı fakat bununda iÅŸlevi sınırlı (ör: formatlama olmaması) kalabilir. Buna çözüm olarak verileri format’lamanızda kullanılabilecek olan kendi kodunuzu yaratabilirsiniz. Kendi kodunuzu yaratma ile ilgili olarak Create your own BBCode, using dokümanına göz atabilirsiniz.

Sonuç :
Bu makalede programlamının iki temel ilkesi olan girdi filtreleme ve çıktı filtreleme’den bahsettim. EÄŸer bu ikisini doÄŸru olarak yapabilirseniz çok güvenli bir script’ine doÄŸru yola çıkmışsınız demektir.

VerdiÄŸim örnekler çok basit ve hantal. Escape iÅŸlemini otomatikleÅŸtirmeniz iyi olabilir. Bunun için iyi bir yöntem gerekli iÅŸlemleri yapan bir class veya fonksiyon’lar yazmanız.

güvenliği ile ilgili daha fazla bilgiye ihtiyaç duyuyorsanız aşağıdaki sitelerine göz atabilirsiniz:

- Security Consortium - Çok sayıda bilgi içeren mükemmel bir rehberi. Mutlaka okunmalı.
- Essential Security - Chris Shiflett’in Essential Security kitabından bilgiler. Kitabın bir kaç bölümü ücretsiz
- Hardened - bültenlerine yer veriliyor
——-

Html Nedir ?

Pazartesi, Mayıs 4th, 2009

(Hyper Text Markup Language) başka bi deyişle Hareketli-Metin İşaretleme Dili internet üzerinde web sayfası oluşturmak için kullanılan bir betik dilidir.Betik dilidir bir programlama dili değildir.Zira ile kendi başına bir program yazılamaz.
Temel özelliği  yazı, görüntü, video gibi değişik verileri ve bunları içeren sayfaları birbirine basitçe bağlamaktan ibarettir. W3C tarafından standartlaştırılmaktadır.Resmen tanınması 1990 yılında olmuştur.Bu günümüz anlamında webin doğuş tarihidir.Tabiki daha öncesi de var.
eskiden mesela iki bilimadamının arasında veri transferi olması için bilgisayarlarının sürekli birbirine bağlı olması gerekmekteydi.Yani bağlantının gerçek zamanlı olması gerekmekteydi.Veri transferinde bi aksaklık oldumu bunun hata kontrolü sadece server client arasında gerçek zamanlı bir bağlantı olduğunda mümkündü..HTTP (Hyper Text Transmission Protocol) ise bu olguyu ortadan kaldırdı.
HTTP ni standart olması 1990 yılında gerçekleÅŸti dedik.1989 yılında Tim Berners-Lee (Cern’de görevli bir bilgisayar programcısı) ÅŸebekeler arası bilgi transferinde in bir standart dil olmasını önerdi ve bu dili geliÅŸtirmesi ile bugünkü web kavramının doÄŸmasına neden oldu.

Günümüzde ise hepimizin bildiği gibi dili teknolojinin gelişmesi ve ihtiyaçların artması ile yetersiz kalmış,kullanıcı ile iletişime geçebilen dillerin ihtiyacı doğmuştur.
Bu kategori altında dilim döndüğünce bildiklerimi paylaşmak istedim.Bence web mimarisi inşa etmenin temelini oluşturmaktadır.Nasıl matematik temeli sağlam olmayan bir öğrencinin matematiği çözmesi ezberci bir zihniyetten öteye geçemeyeceği gibi e hakim olunmadan yapılacak bir web mimarisinin de sağlıklı olmayacağını düşünmekteyim.Günümüzde derleyicilerin gelişmesi ile kodları kendiliğinden oluşturulur oldu.Ancak hangi tagın ne tarif ettiğini bilmeden hareket etmenin yolda kör yürümek gibi olacağını düşünüyorum.Birazcık olsun bu konu hakkında gerek bildiğim bir kaç şeyi gerekse faydalı bir takım linkleri paylaşarak yolun biraz aydınlanmasını sağlamak istiyorum

Html de Temel Kavramlar

Pazartesi, Mayıs 4th, 2009

Temel yapısı
in genel yapısı <></> tagları arasındaki tagların işlenmesidir.
Åžu ÅŸekilde;
<>
<head>
–>döküman içeriÄŸi dışında kalan karakterler tanımlanır.
</head>
<body>
—>dökümanın asıl içeriÄŸi burdadır.
</body>
</>
Bu kısımdan sonra bazı tagları tanıtmak istiyorum.
< h1 > Başlıklar
Yazılarn başlık şeklinde yazılmasında kullanılır.6tane başlık vardır.
<h1> başlık1
</h1>
<h2> başlık2  </h2>
…..
….

bu başlıkları deneyerek görebiliriz.
<br> Blt satıra geçme
<body>
ocak <br>ÅŸubat ———–> altsatıra geçmek için kullanılır
</body>
<hr> Çizgi çizmek
<body>
<hr color=red size 5 width=300 align=left>
</body>
Herşey gayet açık sanırım.Size burada kalınlık veriyor.
<marquee> Kayan yazı
<body>
<marquee>merhaba</marquee>
</body>
<marquee direction =right> up,down  –> kayma yönünü gösterir.
<marquee behavior=alternate> —>Yazılarn ekranda kayarken kaybolmadan bi uçdan bi uca gitmesi.
<marquee bgcolor=ff00cc> —–>arka plan rengi
<body bgcolor=FF0000> —>arkaplan rengini deÄŸiÅŸtirir.
yazı yapısı
<center> —> yazıyı ortalar
<b> —> kalın yapar
<i> —-yazıyı italic yapar
<u> —–> altı çizgili yapar

<font> yazı tipi boyutu
<font face arial size=5 colour ff00ff>yazı</font>
face:yazı stili
size:karakter büyüklüğü
colour:rengi
vermek
<a href=”siteadı” target =”_blank”></a> —> yapısı itibari ile yazısına tıklayınca href deÄŸerine yönlendirme olur
target ise farklı bir pencerede sayfa açılır.
<background> body tagının parametresi
<body background = resim.jpg > –> arka plana reim alır.
<title> browser başlığı
<title> bloÄŸuma hoÅŸgeldin</title> —browser baÅŸlığında görüntülenen metini içerir.

<meta> tagı ve sayfanın türkçeleştirlmesi
Meta tagı ile sayfamız hangi yazi tipinde ise o karakter seti kullanılır.Ama sadece bu iş için kullanılmaz.
Daha sonra değincem.örnek kullanım:

<>
<head>
<meta http-equiv=”content-type” content=”text/”:charset=iso-8859-9″>
—>türkçe karakter seti -9
<title>
</title>
</head>
<img src> resim eklemek
<img src=resim.jpg alt=”benim resmim” border=1 width=200 hight=200>

burada alt resim üzerine gelindiğinde çıkan alt bilgi border kenarlık width height değerleri malum.

bu kısımda bu kadar tabki tagları bununla sınırlı değil.başka bi yazıda tablolar frame form oluşturma bu bu başlık altında form elemanlarından
bahsedicem.
Bu konuda faydalanılacak en güzel kaynak olarak
şu adresi gösterebilirim.

Html Tablo yapısı

Pazartesi, Mayıs 4th, 2009

<table> tablolar:

htmlde tablo oluşturuken <table></table> tagları kullanırız.Tabo içinde satır açmak için <tr> sütun açmak için <td> tagı kullanılır.

<table border =1 width=500 height=300>
<tr>
<td>
hücre1
</td>
<td>
hücre2
</td>
</tr>
</table>

tablo parametreleri;
<table border=1> —> çerçeve
<table width=300 height=500> ——>ebatlar
<table cellspacing=2> –>tablo içindeki hücrelerin birbirlerine ve tablo sınırlarından olan uzaklıkları
<table cellpadding=5> —> hücre içinde resim metin gibi elemanların hücre sınırlarına uzaklıkları
<table align=left> –>right,center hizalama
<table background=resim.gif> —>arkaplan resmi
<table bgcolor=ffff00>
—> arka plan rengi

<td> takısının parametreleri
align–>hizlama
bgcolor–> arka plan rengi
width,height —> boyutlar
background=resim.gif –> arkaplanresmi

bunların dışında;
<td colspan= 2> –> geniÅŸlik iki sütun geniÅŸliÄŸinde
<td rowspan = 2> —>yükseklik 2 satır yüksekliÄŸinde

bu konuda şu linkde try it yourself i tıklayarak tablo yapısını uygulamalı olarak görebilirsiniz.Şimdilik tablo konusu bu kadar.

CSS (Cascading Style Sheet)

Pazartesi, Mayıs 4th, 2009

’ E göre daha çok stil
özelliğine sahip ve yazması daha kolay dökümanlarımızın stilini
ayarlayabileceÄŸimiz bir stil ÅŸablonu dilidir.




in yapısı



p {

color:red;

background:yellow

}

bu dizimde p seçicidi {} arasıda koddur.Yani
seçtiğimiz nesnesine uygulanacak kod.Şimdi önce seçicilerden sonra da kod
kısmından bahsetmek istiyorum.


seçiciler hmtl elementkerini 1-class

2-id


tanımlamarından seçebilirler.Ama bundan önce
genel seçicilerden bahsedeyim


p,h3{

font-size:3;

font-wieght:bold;

}

bu tabir ile bütün paragraf ve h3
balşlıklarını seçmiş ve büyüklüğünü 3 türünüde kalın yaptık.


*{

color:red;

}

bu kodla classlı veya id ile tanımlanmış
bütün elemanların rengini kırmızı yaptık




class seçiciler

aşağıdaki kodları notdefterine yapıştırıp
cssdeneme. olarak kaydedelim ve çalıştıralım




<>

<head>

</head>

<style type=”text/”>

.mavi{

background:blue;

}

.kirmizi{

background:red;

}

</style>

<body>

<p class=”mavi”><b>bu renk
mavidir</b></p>


<p class=”kirmizi”><b>bu renk
kırmızıdır</b></p>


</body>

</>

gördüğümüz gibi class ı mavi olan paragraf
elementini .mavi şeklinde seçtik


class seçiciler önlerine  “.” alarak
tanımlama yapılır.




id seçiciler

aynı örneğin id seçiler ile  yapılışı
aşşağıda;


<>

<head>

<style type=”text/”>

#mavi{

background:blue;

}

#kirmizi{

background:red;

}

</style>

</head>

<body>

<p id=”mavi”><b>bu renk
mavidir</b></p>


<p id=”kirmizi”><b>bu renk
kırmızıdır</b></p>


</body>

</>

burda da id seçerken başına # koyarız vve
tanımlamamızı yaparız.




’in sayfaya
eklenmesi


1-
kod içinde in-line;


tanımlaması tagları içerisinde
tanımlama yapılabilir


<div
style=”color:red”>deneme</div>


2-
style elementi kullanılarak;


<style type=”text/”>

div{

color:red;

}

</style>

3-
dışardan import ederek.

<style type=”text/”>

@import “ornek.”;

</style>



burda aynı dizindeki ornek. i çağırdık.Ben
en çok 3. seçeneği tercih ediyorum yani çalıştığım sayfamla sayfamı
ayırıyorum.


Bu konu şimdilik giriş için yeterli.Seçici
kısmını tanıdığımıza göre artık özellik kısmına yani kod kısmına
geçebiliriz.Bidaha ki yazıda  bu özelliklerden bahsedicem.

Css En Önemli Özellikler

Pazartesi, Mayıs 4th, 2009

Özellikler
.zemin
.knearlık
.font
.lise
.margin
.padding
.metin
.floating ve positing
.tablo

-zemin özelikkleri
+background-color:p{background-color:#ddd;}
+background-image:body{background-image:url(/images/deneme.gif);}
+background-repeat:
body{
background:white url(deneme.gif);
background-repeat:repeat-x;
—-> x yönünde resim kendini yeniliyor.
}
+background-attachment:
body{
background:white url(deneme.gif);
background-attachment:fixed
—->resmin sayfa ile scroll edilip edilmeyeceÄŸi
}
+background-poistion:
body {
background-image:url(deneme.gif);
background-repeat:no-repeat;
background-position:center
—>yüklenen resmin balangıç noktasını belirler.
}

-font özellikleri
+color:  p {color:red}
+font-family:
p{
font-family:Verdana,Arial,Helvetica,san-serif;
}
p{
font-family :”Times New Roman”;
—-> birden fazla kelime içeriyorsa font bu ÅŸekilde kullanılır.
}

+font-size:  td{font-size:12px;}
+font-weight: p{font-weight:bolder;} –> kalınlık incelik 100 -900 arası veya bold bolder normal  deÄŸerleride alır.
+font-style:  p {font-style:italic;} –> italic ,normal,oblique,inherit deÄŸerleri alır.
+font-variant: span{font-variant:small-caps} –>normal ,small-caps deÄŸerlerini alır.

-liste özelliği
+list-style-type:disc,circle,square,decimal,lower-roman,upper-roman değerleri alır.

ul.arabalar
{
list-style-stype:none;
}

ol ol ol {
list-style-type:lower-roman —-> i-ii-iii-iv-v gibi
}

+list-style-image
ul{
list-style-image:url(ornek.gif);
}
+list-style:

ul { list-style:disc outside}
ol{ list-style:decimal inside}

+white-space : normal–>birden fazla boÅŸluÄŸu tek boÅŸluk sayar.
pre—> birdenfazla boÅŸluÄŸu birleÅŸtirmez.
nowrap—-> <br> etiketi hariç alt satıra geçirmez.
p{
white-space:pre;
}

-border özelliği
+border-style:none,hidden,dotted,dashed,solid,double,groove,ridge,inset,
outset,{1,4},inherit

p.icerik{
border-style:solid;
}

+border-width:kenarlık kalınlığı
p{
border-style:solid;
border-width:1px;
}
+border-color:
p{
border-style:solid;
border-color:red;
}

-margin ve padding

margin-elementin kenarlara olan boÅŸluÄŸu
p{
margin-right:5px; —> saÄŸa olan uzaklığı 5px demek.
}

margin-top,margin-left,margin-right,magin-bottom diÄŸer deÄŸerleri

padding-içerik alanı ile kenarlık arasındaki mesafe

p{
pading:12px;
}

padding-top,right,left,bottom diÄŸer deÄŸerleri

-görünüm

+overflow:

.visible:kutu sınırları dışına taşan alanı gösterir.

.hidden:kutu sınırları dışına taşan alanı gizler

.scroll:kutu sınırları dışına taşan alana kaydırma çubuğu ile ulaşmamızı sağlar.
.auto:srcoll ile aynı özelliğe sahiptir.

+clip:kırpma

.resim{
position:absolute;
clip:rect(50px 130px 153px 40px)
}

kodu;
<div class=”resim”>
<img src=”resim.jpg”> alt=”avatar” />
</div>

Bu kısımda burda bitti.Tabiki özellikler bunlarla sınırlı değil.İlerledikçe önümüze gelen diğer özelliklerden de bahsedicem.

Oyun Domain Registration Australia
Add to Technorati Favorites Technorati