Posts Tagged ‘php’

Verilerimizi veritabanımızda saklarken bazılarını şifreleme gereksinimi duyarız. Bunlardan en önemlisi herkesinde bildiği gibi kullanıcı şifreleridir. Şifrelememizin önemi, herhangi bir şekilde 3. kişisinin eline geçen verilerin kötü amaçlı kullanılmasının önüne geçilmesidir. Profesyonel sistem yazan her coder mutlaka şifreleme yapar.

Şifreleme mantığını ben iki kategoriye ayırıp anlatmaya çalışacağım.

  • Geri dönüşümsüz şifreleme
  • Geri dönüşümlü şifreleme

İsimlerden anlaşılacağı üzere şifreleme tiplerimizi ikiye ayırdık. Şimdi bunlara sırayla bakmaya ve örnek bir kaç fonksiyon yazalım.

Read the rest of this entry »

Daha önce yazmış olduğum Ajax ile Php bot yapımı yazımda php ve ajax ile bir wordpress sitesine bağlanıp o sitedeki verileri çekmeyi basitçe anlatmıştım. Bu yazımda ise ekle bunu butonuna tıklayanca yazı içeriğini çekip aşağıda input alanına çeken kısmını anlatacağım.

Öncelikle ekle bunu butonuna tıklandığında çalışan calistir() fonksiyonumuzu anlatalım. Bu fonksiyon ile gönderilen link ile php dosyamız arasında iletişim kurup gelen veriyi ekrana yazdırıyoruz. Bu fonksiyonumuz index.php dosyamızda bulunmaktadır.

function yazigetir(link){
JXP(1, ‘yazigetir’, ‘yazigetir.php’, ‘link=’+link);
}

Bu fonksiyonumuz ile yazigetir.php dosyamıza linki gönderip gelen veriyi index.php’de bulunan yazigetir id’li yere yazdırıyoruz. Basitçe yazigetir.php dosyamıza göz atalım.

Read the rest of this entry »

Bazı arkadaşlarımın kullandığı zaman olaylarını ve bunlarda karşılaştıkları sorunları görerek, ben kendi uygulamalarımda sürekli kullandığım mktime() fonksiyonunu anlatmaya çalışacağım.

mktime() fonksiyonu Php’de zamanı Unix zamanlamasına çeviren fonksiyondur. Basitçe söylersek, yaşadığınız, geçmiş ya da gelecekteki bir zamanı sayısal kodlamaya çeviren bir fonksiyondur. Bir uygulama echo mktime(); yazıp çalıştırdığımız zaman ekrana yaklaşık 10 karakterli bir sayısal ifade yazdırdığını görürsünüz. Bu sizi korkutmasın bu sayısal ifadeleri geri dönüştürmek gerçekten çok kolay :) .

Örneğin ;

<?

$zaman = mktime();

echo date(“d.m.Y H:i”, $zaman); // çıktı : gun.ay.yil Saat:dakika

?>

date() varken neden bunu kullanalım, tek satırken 2 satıra çıktı kod diyebilirsiniz. Direk zamanı bastırırken haklısınız doğru fakat bir duyuru uygulamasında veya zamana göre çekilen sorgularda gerçekten işinizi çok kolaylaştıyor. Buna örnek vermeden önce herhangi bir günü ayı yılı mktime() ile nasıl çevirebiliriz ona örnek verelim.

Read the rest of this entry »

Bir çok web kullanıcısı botlar tarafından gönderilen mesajlardan şikayetçidir. Bende şuan onlar arasındayım. Siteme hergün sayısız botlar tarafından yorum yapılmakta :D . Bu yüzden bende basit bir kaç php kodu ile bilmediğim wordpress sistemine ufak bir güvenlik sorusu eklentisi yazdım. Aşağıda yorum yapma alanında göreceksiniz .( 13 + 1 = ? gibi ) Bu uygulama ile o kahrolası botların reklam mesajlarından kurtulacağım :) .

Dediğim gibi wordpress hakkında o kadar detaylı bir bilgiye sahip değilim. Bu yüzden dosyaları editleyerek işe başladım. Öncelikle kullandığım temanın comments.php dosyasına yorum alanına eklenti yaptım.

<p>
<?php
$sayi1 = rand(10, 20);
$sayi2 = rand(1, 9);
$islem = array(“+”, “-”);
$islem = $islem[rand(0,1)];

if($islem == “+”) $sonuc = $sayi1 + $sayi2;
else $sonuc = $sayi1 – $sayi2;
?>
<font face=”Arial” size=”2″><b><? echo $sayi1; ?> <? echo $islem; ?> <? echo $sayi2; ?> = ?</b> (İşleminin Sonucu)</font>
<label for=”url”> </label></p>

<p><input type=”text” name=”gkodu” id=”gkodu” value=”" size=”22″ tabindex=”3″ />
<label for=”url”>Güvenlik Kodu</label></p>

Read the rest of this entry »

Bu yazımda sizlere ajax ve php ile bir wordpress sitesine (kendi siteme yaptım) bot nasıl yapılır anlatmaya çalışacağım. Farklı üstadların sitelerine uygulamayı düşündüm ama emek hırsızlarına karşı ne olur ne olmaz diye kendi siteme kodlamayı uygun gördüm. İşin mantığını kavrayarak istediğiniz her siteye istediğiniz her türde botlar yapabilirsiniz. Ajax kullanmamda ki amaç ise sayfa yenileme derdine son vermekti. Öncelikle uygulamama Buradan göz atarak işe başlayabilirsiniz. Daha sonra yazıyı okumaya devam edin. Uygulamamız 3 dosyadan ibaret. Biri Eburhan’ın ajax kütüphanesi, sayfamızın tasarımını ve basit ajax fonksiyonlarını içeren index.php ve asıl içeriği çeken bot.php.

Read the rest of this entry »

Bir arkadaşımın isteği üzerine ajaxde sayfanın belirli kısımlarının yenilenmesini için kod yazdım :) . Düşünürken zorda olsa 2-3 satır kodla yapılabildiğini görmek sanırım herkesi mutlu eden bir kavramdır. Bu basit uygulama ile yapılabilecek sanırım bir çok şeyler var. Basit destek sistemi, sohbet, dinamik kullanıcı paneli vs. Şuan vaktim kısıtlı olduğundan sizlere kodların tam olarak anlatamasam da, kodları açıp baktığınızda işlemin ne kadar basit olduğunu sizde anlayacaksınız.

Gelelim bu işlemi yapan basit kod aralığımıza.

<script type=”text/javascript” src=”ajax/eyceks.js”></script>
<script type=”text/javascript”>

function yazigetir(){
JXP(0, “yazi”, “yazilar.php”, “islem=getir”);
timer1 = setTimeout(“yazigetir()”,5000);
}
</script>
</head>
<body onLoad=”yazigetir()”>

yazigetir() fonksiyonumuzla yazilar.php dosyamızdan sayfamızda yazi idli dive rastgele yazımızı yazdırıyoruz. Burada js kodu olan setTimeout(“yazigetir()”,5000); ile her 5 saniyede bir yazigetir() fonksiyonumuzu tekrar çalıştırıyoruz ve işlemin 5 saniye aralıklarla sürekli olmasını sağlıyoruz :) İşte gördüğünüz işlem bundan ibaret.

<?php

$islem = $_POST["islem"];

if($islem == “getir”){

$yazilar = array(“Deneme Yazi”, “Degisiyor”, “Rastgele Secim Yapiliyor”, “MahiriX”, “Test Deneme”, “Guzel Oldu”);

$hangisi = rand(0,count($yazilar)-1);

echo “<h3>$yazilar[$hangisi]</h3>”;
}
?>

yazilar.php dosyamızda ise yazilar değişkeninden rastgele bi yazıyı seçip ekrana bastırıyoruz. Bunun içeriği ne olacak sizin hayal gücünüze kalmış :)

Uygulamanın çalışır halini görmek için Buraya, indirmek içinde Buraya tıklayınız.

Bir arkadaşımın isteği üzerine ajax ile üst kategoriyi seçtiğimizde alt kategorilerin listelenmesi uygulamasını basitçe sizlerle paylaşıyorum. İşlem oldukça basit aslında. Şimdi görünce gerçekten basit olduğuna sizde karar vereceksiniz :)

Bu uygulamada Eburhan’ın eyceks kütüphanesini kullandım. Bu kütüphane ile istediğiniz her türlü ajax uygulamasını başarıyla yapabilirsiniz yeterki isteyin. Şimdi gelelim kodlarımızı anlatmaya.

<html>
<head>
<title>Ajax ile secmece</title>
</head>
<body>
<script type=”text/javascript” src=”ajax/eyceks.js”></script>
<script type=”text/javascript”>
function islemyap(deger){
JXP(0, “sonuc_goruntulenen_yer”, “islem.php”, “kategori=”+deger);
}
</script>
<form action=”javascript:void(0)” method=”post”>

<table>
<tr>
<td>Kategori</td>
<td width=”1″>:</td>
<td><select name=”kategori” onChange=”islemyap(this.value)”>
<option>Bir Kategori Secin</option>
<option value=”1″>Kategori 1</option>
<option value=”2″>Kategori 2</option>
<option value=”3″>Kategori 3</option>
</select>
</td>
</tr>
<tr>
<td>Alt Kategori</td>
<td width=”1″>:</td>
<td>
<div id=”sonuc_goruntulenen_yer”></div>
</td>
</tr>
</table>

</body>
</html>

index.php dosyamız gördüğünüz kodlardan ibarettir. Uygulamamızın önemli yerlerini teker teker anlatayım.

Read the rest of this entry »

Sitelerin vazgeçilmezlerinden birisi olan site haritası oluşturmak gerçekten php ile çok basit bir işlemdir. Özellikle spam siteler yapıyorsanız ve kısa sürede hızlı indexleme ve hit istiyorsanız vazgeçilmez bir olaydır.  Sitemap oluşturan çok ve güzel programlar vardır fakat bunlar her seferinde yenilenmek istediğinden ben pek önermiyorum. O yüzden yazacağınız 3-5 satır kodla bu işi halledersiniz ve Google WebmasterTools‘a bir kere göndermeniz size yetecektir. Şimdi gelelim bu işi yapan kodlarımızı yazmaya.

<?php
include_once(”ayarlar.php”);
// veritabanı baglantısını yapıyoruz

header(’Content-type: text/xml’); // xml dosyası :)

echo “<?xml version=\”1.0\” encoding=\”ISO-8859-9\” ?>\n”;
echo “<urlset xmlns=\”http://www.google.com/schemas/sitemap/0.84\” xmlns:xsi=\”http://www.w3.org/2001/XMLSchema-instance\” xsi:schemaLocation=\”http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd\”>”;

// ana linkler basitçe :) fark amaçlı
$xml_ciktisi .= “\n<url>\n<loc>http://www.siteurl.com</loc>\n<changefreq>daily</changefreq>\n<priority>1.00</priority>\n</url>”;

// kategorilerin çıktısı

$result = @mysql_query(”select id, isim from veritablosu”); // tablodan çekioruz arttırılabilir

while (list($id, $isim) = @mysql_fetch_row($result))
{
$xml_ciktisi .= “\n<url>\n<loc>http://www.siteadresi.com/veritablosuurl&id=$id</loc>\n<changefreq>daily</changefreq>\n<priority>0.80</priority>\n</url>”;
};

echo $xml_ciktisi .”\n</urlset>”;

?>

Hyperlinkleriniz varsa artık onu kendiniz sisteminize göre uyarlayacaksınız. Burda unutmamanız gereken tek birşey var Google sitemaplarda maximum 50 bin url ister :) Bu sınırı aşmayın ve hyperlink yaparken mutlaka karakterleri süzün ( < ve > önemlidir).

.htaccess dosyanıza birde

ReWriteRule ^sitemap.xml sitemap.php

yazarsanız direk xml linki yaparsınız. (http://www.site.com/sitemap.xml)

Bu videoda görüntülü phpde basitçe echo kullanımını anlatmaya çalıştım. Özel istek üzerine hazırlamış bulunmaktayım. Ses sanırım yine kötü ama idare edeceğinizi ümit ediyorum.

Videoyu tam ekran izlemek için video yüklendikten sonra video üzerine çift tıklayınız. (Yoksa izleme güzel olmuyor :) )

Video Süresi : 5:58 Dk

Video Boyutu : 3.35 Mb

Read the rest of this entry »

Register globals php4.2.0 ve üstü sürümlerde kapalı, degeri off olarak gelir. Register globalsin açık ve programlama hatası olması durumunda uygulamalarınızda ciddi açıklar bulunmasına neden olur. Kısaca söylemek gerekirse register globalsin açık yani on olması durumunda uygulamanızda değişkenleri alırken $_GET ya da $_POST kullanmanıza gerek yoktur. Ee güzel bunu kullanmasak daha iyi olur, fazla kod yazmaktan kurtulmuş oluruz denebilir fakat eğer uygulamanıza güveniyorsanız bunu diyebilirsiniz. Ama küçük kod hatalarından dolayı size büyük kayıplar verdirebilir. Peki nasıl olacak?

<?php
if(fonsiyonumuz()){
$degiskenimiz = true;
}

if($degiskenimiz){
include(“adminsayfamiz.php”);
}
?>

Örnek de olduğu gibi basit bir kod yazdığımızı varsayalım. Ziyaretçi sayfa.php?degiskenimiz=1 sayfa.php?degiskenimiz=2 gibi herhangi birşey yazdığında bizim admin sayfamıza erişmiş olacaktır. Eğer register globals off olsaydı bu durum böyle olmazdı.

Read the rest of this entry »