Merhaba herkese uzun bir aradan sonra teknik olmayan bir yazı yazmak istedim blog şifremi ancak hatırlayabildim ve artık blog yazmaya vakit ayırmaya çalışacağım sıfırdan bir blog'a geçip yapıp buradan çıkmayı düşünüyorum yada bir arkadaşımın sitesinde editör olabilirim kafam çok karışık blmiyorum.
Hoşçakalın
Keremalizm
Yaptıklarımı sadece yaptığım zaman anlayabilirsiniz.
14 Ekim 2010 Perşembe
30 Mayıs 2010 Pazar
Ubuntu Wamp Kurulumu
cd ~/Desktop
wget http://www.apachefriends.org/download.php?xampp-linux-1.7.1.tar.gz
sudo tar xvfz xampp-linux*.tar.gz -C /opt
cd /opt/lampp/
sudo ./lampp start
echo "hersey ok sayın yuri "
echo "http://localhost/ yazarak sunucunuza\n http://localhost/phpmyadmin yazarak PhpMyadmine ulasabilirsin"
echo "indirilen paketler kaldiril"
echo "yuri was here"
wget http://www.apachefriends.org/download.php?xampp-linux-1.7.1.tar.gz
sudo tar xvfz xampp-linux*.tar.gz -C /opt
cd /opt/lampp/
sudo ./lampp start
echo "hersey ok sayın yuri "
echo "http://localhost/ yazarak sunucunuza\n http://localhost/phpmyadmin yazarak PhpMyadmine ulasabilirsin"
echo "indirilen paketler kaldiril"
echo "yuri was here"
9 Mayıs 2010 Pazar
Php ImageResizer Coded by Yuri
Merhaba arkadaşlar geçen gün bir projede lazım olan birşeydi bu biraz araştırdıkdan sonra upload edilen resimin boyutlarıyla oynayan bir class buldum ancak bu class upload edilen resimlere random isim vermiyor,belilrli güvenlik kontrolleri yapmıyordu.GNU|GPL olduğundan dolayı class'ı biraz geliştirmeye çalıştım.Kullanımından vs. aşağıda bahsettim umarım yararlı olur.
/*
Coded by Yuri From www.megaturks.net
GNU\GPL
Bug or developing ideas for msn : kerem125@megaturks.net
*/
class Upload
{
public function ChangeFileName($name)
{
$name = md5(uniqid(rand()));
return $name;
}
public function UploadFile($upload_control,$upload_dir)
{
$name = $_FILES[$upload_control]["name"];
$tmp = $_FILES[$upload_control]["tmp_name"];
$file_type = $_FILES[$upload_control]["type"];
$file_size = $_FILES[$upload_control]["size"];
if($file_size > "1024000")
{
return "En fazla 1 mb dosya yükleyebilirsiniz";
exit();
}
if(preg_match ("/.php/",$resimblog))
{
return("Php uzantılı dosya ekleyemezsiniz!");
exit();
}
$upload_dir.'/';
$rnd = self::ChangeFileName($name);
$change_name = $rnd;
$file_ext = self::MimeType($file_type);
$changed_file = $change_name.$file_ext;
$move = move_uploaded_file($tmp,$upload_dir.$change_name.$file_ext);
if($move)
{
$image = new SimpleImage();
$image->load($upload_dir.$change_name.$file_ext);
$image->resize(150,150);
$image->save($upload_dir.'k_'.$changed_file);
return $change_name.$file_ext;
}
}
public function MimeType($type)
{
if($type=="image/jpeg")
{
$type = ".jpg";
}
else if($type=="image/x-png")
{
$type = ".png";
}
else if($type=="image/png")
{
$type = ".png";
}
else if($type=="image/pjpeg")
{
$type = ".jpeg";
}
else if($type=="image/gif")
{
$type = ".gif";
}
else
{
echo "Yüklemek istediğiniz dosya jpg,png,jpeg veya gif formatında olmalıdır...";
exit();
}
return $type;
}
}
class SimpleImage {
var $image;
var $image_type;
function load($filename) {
$image_info = getimagesize($filename);
$this->image_type = $image_info[2];
if( $this->image_type == IMAGETYPE_JPEG ) {
$this->image = imagecreatefromjpeg($filename);
} elseif( $this->image_type == IMAGETYPE_GIF ) {
$this->image = imagecreatefromgif($filename);
} elseif( $this->image_type == IMAGETYPE_PNG ) {
$this->image = imagecreatefrompng($filename);
}
}
function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image,$filename,$compression);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image,$filename);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image,$filename);
}
if( $permissions != null) {
chmod($filename,$permissions);
}
}
function output($image_type=IMAGETYPE_JPEG) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image);
}
}
function getWidth() {
return imagesx($this->image);
}
function getHeight() {
return imagesy($this->image);
}
function resizeToHeight($height) {
$ratio = $height / $this->getHeight();
$width = $this->getWidth() * $ratio;
$this->resize($width,$height);
}
function resizeToWidth($width) {
$ratio = $width / $this->getWidth();
$height = $this->getheight() * $ratio;
$this->resize($width,$height);
}
function scale($scale) {
$width = $this->getWidth() * $scale/100;
$height = $this->getheight() * $scale/100;
$this->resize($width,$height);
}
function resize($width,$height) {
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
$this->image = $new_image;
}
}
$upload = new Upload();
?>
Kodlarımız bu kadar kullanım şekli ise şu şekilde...
require_once('upload.class.php');
echo $upload->UploadFile('uploaded','img/');
?>
Açıklamak gerekirse
require_once('upload.class.php');
Sayfamızı çağırıyoruz..
echo $upload->UploadFile('uploaded','img/');
Echo ile yazdırma sebebim veritabanında bu resimlerin isimlerini tutmak isteyen arkadaşlar için random üretilen dosyanın adını return ediyor..Burada uploaded olarak verdiğim parametre sizinde tahmin edebileceğiniz gibi form'dan gelen input nesnemin name'i...Küçük resime ulaşmak isteyen arkadaşlar şu kod parçasını kullanabilirler.
echo 'k_'.$upload->UploadFile('uploaded','img/');
Büyük resime ulaşmak içinse
echo $upload->UploadFile('uploaded','img/');
Umarım yararlı olur...I hope jews can't use it...
Saygılar YuRi
/*
Coded by Yuri From www.megaturks.net
GNU\GPL
Bug or developing ideas for msn : kerem125@megaturks.net
*/
class Upload
{
public function ChangeFileName($name)
{
$name = md5(uniqid(rand()));
return $name;
}
public function UploadFile($upload_control,$upload_dir)
{
$name = $_FILES[$upload_control]["name"];
$tmp = $_FILES[$upload_control]["tmp_name"];
$file_type = $_FILES[$upload_control]["type"];
$file_size = $_FILES[$upload_control]["size"];
if($file_size > "1024000")
{
return "En fazla 1 mb dosya yükleyebilirsiniz";
exit();
}
if(preg_match ("/.php/",$resimblog))
{
return("Php uzantılı dosya ekleyemezsiniz!");
exit();
}
$upload_dir.'/';
$rnd = self::ChangeFileName($name);
$change_name = $rnd;
$file_ext = self::MimeType($file_type);
$changed_file = $change_name.$file_ext;
$move = move_uploaded_file($tmp,$upload_dir.$change_name.$file_ext);
if($move)
{
$image = new SimpleImage();
$image->load($upload_dir.$change_name.$file_ext);
$image->resize(150,150);
$image->save($upload_dir.'k_'.$changed_file);
return $change_name.$file_ext;
}
}
public function MimeType($type)
{
if($type=="image/jpeg")
{
$type = ".jpg";
}
else if($type=="image/x-png")
{
$type = ".png";
}
else if($type=="image/png")
{
$type = ".png";
}
else if($type=="image/pjpeg")
{
$type = ".jpeg";
}
else if($type=="image/gif")
{
$type = ".gif";
}
else
{
echo "Yüklemek istediğiniz dosya jpg,png,jpeg veya gif formatında olmalıdır...";
exit();
}
return $type;
}
}
class SimpleImage {
var $image;
var $image_type;
function load($filename) {
$image_info = getimagesize($filename);
$this->image_type = $image_info[2];
if( $this->image_type == IMAGETYPE_JPEG ) {
$this->image = imagecreatefromjpeg($filename);
} elseif( $this->image_type == IMAGETYPE_GIF ) {
$this->image = imagecreatefromgif($filename);
} elseif( $this->image_type == IMAGETYPE_PNG ) {
$this->image = imagecreatefrompng($filename);
}
}
function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image,$filename,$compression);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image,$filename);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image,$filename);
}
if( $permissions != null) {
chmod($filename,$permissions);
}
}
function output($image_type=IMAGETYPE_JPEG) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image);
}
}
function getWidth() {
return imagesx($this->image);
}
function getHeight() {
return imagesy($this->image);
}
function resizeToHeight($height) {
$ratio = $height / $this->getHeight();
$width = $this->getWidth() * $ratio;
$this->resize($width,$height);
}
function resizeToWidth($width) {
$ratio = $width / $this->getWidth();
$height = $this->getheight() * $ratio;
$this->resize($width,$height);
}
function scale($scale) {
$width = $this->getWidth() * $scale/100;
$height = $this->getheight() * $scale/100;
$this->resize($width,$height);
}
function resize($width,$height) {
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
$this->image = $new_image;
}
}
$upload = new Upload();
?>
Kodlarımız bu kadar kullanım şekli ise şu şekilde...
require_once('upload.class.php');
echo $upload->UploadFile('uploaded','img/');
?>
Açıklamak gerekirse
require_once('upload.class.php');
Sayfamızı çağırıyoruz..
echo $upload->UploadFile('uploaded','img/');
Echo ile yazdırma sebebim veritabanında bu resimlerin isimlerini tutmak isteyen arkadaşlar için random üretilen dosyanın adını return ediyor..Burada uploaded olarak verdiğim parametre sizinde tahmin edebileceğiniz gibi form'dan gelen input nesnemin name'i...Küçük resime ulaşmak isteyen arkadaşlar şu kod parçasını kullanabilirler.
echo 'k_'.$upload->UploadFile('uploaded','img/');
Büyük resime ulaşmak içinse
echo $upload->UploadFile('uploaded','img/');
Umarım yararlı olur...I hope jews can't use it...
Saygılar YuRi
29 Mart 2010 Pazartesi
OOP Crud Class
Merhaba arkadaşlar, geçen gün sizlerle paylaştığım OOP code creator programının crud alt yapısını kuvvetlendirmek amaçlı yaptığım OOP classını sizlerle paylaşıyorum umarım yararlı olur.
Her bir methodun altında kullanım biçimi yazıyor.
error_reporting(E_NOTICE);
/*
Coded by Yuri from www.megaturks.net
*/
class connection
{
private $host;
private $user;
private $pass;
private $db;
private $baglanti;
public function __construct($local,$usr,$pwd,$dbase)
{
$baglanti = mysql_connect($this->host=$local,$this->user=$usr,$this->pass=$pwd);
if(!$baglanti)
{
echo mysql_error();
}
else
{
$db = mysql_select_db($this->db=$dbase,$baglanti);
if(!$db)
{
echo mysql_error();
}
}
}
}
$connection = new connection("localhost","root","","Library");//Baglantı bilgileri
interface Crud
{
public function insert($kolonlar=array(),$veriler=array(),$tablo);//Create
public function select($params=array(),$tablo);//Read
public function update($tablo,$kolonlar=array(),$veriler=array(),$where,$id);//Update
public function delete($tablo,$kolon,$id);//Delete
}
class DB implements Crud
{
public function insert($kolonlar=array(),$veriler=array(),$tablo)
{
/*
$k = array("KitapAdi","KitapFiyat");
$v = array("Sigara Saglıga Zararlı","13,900");
$crud->insert($k,$v,"tblkitap");
*/
if(is_array($kolonlar) && is_array($veriler))
{
$kolon = array();
$kolon = implode(",",$kolonlar);
$veri = array();
$veri = implode("','",$veriler);
$query = mysql_query("insert into $tablo($kolon) values('$veri')");
if(!$query)
{
echo mysql_error();
}
}
}
public function select($params=array(),$tablo)
{
/*$crud-> = new DB();
foreach($crud->select("*","tblkitap") as $o)
{
//echo $o["KitapID"].$o["KitapAdi"].$o["KitapYazar"].$o["KitapFiyat"]."
";
}
$kolonlar = array("KitapID","KitapAdi");
foreach($crud->select($kolonlar,"tblkitap") as $o)
{
echo $o["KitapID"].$o["KitapAdi"]."
";
}*/
$y=array();
if(is_array($params))
{
$a=implode(",",$params);
$query = mysql_query("select $a from $tablo");
while($x=mysql_fetch_array($query))
{
$y[] = $x;
}
return $y;
}
else
{
$query = mysql_query("select * from $tablo");
while($x=mysql_fetch_array($query))
{
$y[] = $x;
}
return $y;
}
}
public function update($tablo,$kolonlar=array(),$veriler=array(),$where,$id)
{
if(is_array($kolonlar) && is_array($veriler) && is_numeric($id))
{
/*
$crud-> = new DB();
$kolonlar = array("KitapAdi","KitapFiyat","KitapKategori"); //Update Edilecek Kolonlar
$veriler = array("ZAAAAA","30,000","2");//Update Edilecek veriler
$crud->update("tblkitap",$kolonlar,$veriler,"KitapID","2");//Tabloadı,Kolonlar dizisi,Veriler Dizisi,Identity,ID Numarası
*/
$kolon = array();
$kolon =$kolonlar;
$veri = array();
$veri =$veriler;
for($i=0;$i {
$a = "update $tablo set $kolon[$i]='$veri[$i]' where $where=$id;";
$query = mysql_query($a);
if(!$query)
{
echo mysql_error();
}
}
}
}
public function delete($tablo,$kolon,$id)
{
/*
$crud-> = new DB();
$crud->delete("tblkategori","kategori_num","3");
*/
if($tablo!="" && $kolon!="")
{
$query = mysql_query("delete from $tablo where $kolon=$id");
if(!$query)
{
echo mysql_error();
}
}
else
{
}
}
}
?>
Her bir methodun altında kullanım biçimi yazıyor.
error_reporting(E_NOTICE);
/*
Coded by Yuri from www.megaturks.net
*/
class connection
{
private $host;
private $user;
private $pass;
private $db;
private $baglanti;
public function __construct($local,$usr,$pwd,$dbase)
{
$baglanti = mysql_connect($this->host=$local,$this->user=$usr,$this->pass=$pwd);
if(!$baglanti)
{
echo mysql_error();
}
else
{
$db = mysql_select_db($this->db=$dbase,$baglanti);
if(!$db)
{
echo mysql_error();
}
}
}
}
$connection = new connection("localhost","root","","Library");//Baglantı bilgileri
interface Crud
{
public function insert($kolonlar=array(),$veriler=array(),$tablo);//Create
public function select($params=array(),$tablo);//Read
public function update($tablo,$kolonlar=array(),$veriler=array(),$where,$id);//Update
public function delete($tablo,$kolon,$id);//Delete
}
class DB implements Crud
{
public function insert($kolonlar=array(),$veriler=array(),$tablo)
{
/*
$k = array("KitapAdi","KitapFiyat");
$v = array("Sigara Saglıga Zararlı","13,900");
$crud->insert($k,$v,"tblkitap");
*/
if(is_array($kolonlar) && is_array($veriler))
{
$kolon = array();
$kolon = implode(",",$kolonlar);
$veri = array();
$veri = implode("','",$veriler);
$query = mysql_query("insert into $tablo($kolon) values('$veri')");
if(!$query)
{
echo mysql_error();
}
}
}
public function select($params=array(),$tablo)
{
/*$crud-> = new DB();
foreach($crud->select("*","tblkitap") as $o)
{
//echo $o["KitapID"].$o["KitapAdi"].$o["KitapYazar"].$o["KitapFiyat"]."
";
}
$kolonlar = array("KitapID","KitapAdi");
foreach($crud->select($kolonlar,"tblkitap") as $o)
{
echo $o["KitapID"].$o["KitapAdi"]."
";
}*/
$y=array();
if(is_array($params))
{
$a=implode(",",$params);
$query = mysql_query("select $a from $tablo");
while($x=mysql_fetch_array($query))
{
$y[] = $x;
}
return $y;
}
else
{
$query = mysql_query("select * from $tablo");
while($x=mysql_fetch_array($query))
{
$y[] = $x;
}
return $y;
}
}
public function update($tablo,$kolonlar=array(),$veriler=array(),$where,$id)
{
if(is_array($kolonlar) && is_array($veriler) && is_numeric($id))
{
/*
$crud-> = new DB();
$kolonlar = array("KitapAdi","KitapFiyat","KitapKategori"); //Update Edilecek Kolonlar
$veriler = array("ZAAAAA","30,000","2");//Update Edilecek veriler
$crud->update("tblkitap",$kolonlar,$veriler,"KitapID","2");//Tabloadı,Kolonlar dizisi,Veriler Dizisi,Identity,ID Numarası
*/
$kolon = array();
$kolon =$kolonlar;
$veri = array();
$veri =$veriler;
for($i=0;$i
$a = "update $tablo set $kolon[$i]='$veri[$i]' where $where=$id;";
$query = mysql_query($a);
if(!$query)
{
echo mysql_error();
}
}
}
}
public function delete($tablo,$kolon,$id)
{
/*
$crud-> = new DB();
$crud->delete("tblkategori","kategori_num","3");
*/
if($tablo!="" && $kolon!="")
{
$query = mysql_query("delete from $tablo where $kolon=$id");
if(!$query)
{
echo mysql_error();
}
}
else
{
}
}
}
?>
23 Mart 2010 Salı
Php OOP Code Maker
Merhaba arkadaşlar sizlere bu videomda yazdığım bir tool ile mysql işlerini nasıl yazarken en aza indirgeyebileceğimizi göstermeye çalıştım .
Kullanımı basit bir şekilde anlatmak gerekirse örneğin bir mail list topladığımıx input var input için tekrar tekrar sorgu vs oluşturmamıza gerek yok varsayalım ki post methodu kullanan bir formumuz var şu şekilde yapıyoruz
$liste = new tblmailliste();
$liste->kaydet($_POST['mail']);
şeklinde kullanabiliriz.Tabi önce regex'den geçirip geçerli mail mi ve içerisinde html karakteri var mı vs. bakmak lazım (:
umarım yararlı olur.
Indir
Kullanımı basit bir şekilde anlatmak gerekirse örneğin bir mail list topladığımıx input var input için tekrar tekrar sorgu vs oluşturmamıza gerek yok varsayalım ki post methodu kullanan bir formumuz var şu şekilde yapıyoruz
$liste = new tblmailliste();
$liste->kaydet($_POST['mail']);
şeklinde kullanabiliriz.Tabi önce regex'den geçirip geçerli mail mi ve içerisinde html karakteri var mı vs. bakmak lazım (:
umarım yararlı olur.
Indir
28 Ocak 2010 Perşembe
Php #Site İçi Flood Engelleme~TG Açıldı
Selam herkese, bildiğiniz gibi dostum olan Tg tayfası sitelerini açtı ve sitelerinde paylaşılan bir makale hoşuma gitti sizinle paylaşıyorum.
"SelamunAleyküm,
Daha önce savsak.com yönetiminin kullandığı site içerisindeki flood yapan kullanıcıları banlama işlemi için yazmış olduğumuz php kodunu sizlerle paylaşıyorum.
$a = (int)date("i");
$ip = $_SERVER['REMOTE_ADDR'];
$exec = mysql_query("insert into tbllog(ip,tarih) values('$ip','$a')");
$z = $a-1;
$q = mysql_query("select * from tbllog where ip='$ip' and tarih >='$z'");
if(mysql_num_rows($q)>=40)
{
$ban = mysql_query("insert into tblbanlist(ip) values('$ip')");
if($ban)
{
header('Location: ban.html');
}
}
$q2 = mysql_query("select * from tblbanlist where ip='$ip'");
if(mysql_num_rows($q2)>=2)
{
header('Location: ban.html');
}
$settime = "00:00";
$gettime = date("h:i");
if($gettime==$settime)
{
$trunlog = mysql_query("truncate table tbllog");
if($trun)
{
header('Location: bakim.html');
}
}
$setday = "15";
$a = date("d");
if($setday==$a)
{
$trunban = mysql_query("truncate table tblbanlist");
if($trunban)
{
header('Location: bakim.html');
}
}
Kodları okuyamayan arkadaşlar için özet olarak site içerisinde herhangi birisi bir dakika içerisinde 40'dan fazla link açıyorsa bu adamı mimlemek gerekiyor, ilk mimleme hamlesinden sonra tekrar bir dakika içerisinde 40'dan fazla hamle yapıyorsa banlamak gerekiyor.Bu kodları config.php dosyanıza koyup veritabanı işlemi yaptığınız her yerde kullanarak php programlama dili ile saldırılardan bir nebze korunabilirsiniz.Her ayın 15'inde ban listesi tamamen temizlenir her gece saat 12'de eğer sitede gezinen varsa log tablosu temizlenir böylece mysql'in şişmesi engellenir...Mantık olarak ayın 15'inde bütün kullanıcılar bakim.html'e yönlendirilir.Bu nedenle kodları istediğiniz zaman çalıştırmak üzere yakın bir zamanda fonksiyonelleştireceğiz.Kodları kullanırken veritabanı içerisinde ,
CREATE TABLE `tblbanlist` (
`id` int(11) NOT NULL auto_increment,
`ip` varchar(50) collate utf8_turkish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=5 ;
CREATE TABLE `tbllog` (
`id` int(11) NOT NULL auto_increment,
`ip` varchar(50) collate utf8_turkish_ci NOT NULL,
`tarih` varchar(50) collate utf8_turkish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=80 ;
şu sorguları çalıştırınız.
"SelamunAleyküm,
Daha önce savsak.com yönetiminin kullandığı site içerisindeki flood yapan kullanıcıları banlama işlemi için yazmış olduğumuz php kodunu sizlerle paylaşıyorum.
$a = (int)date("i");
$ip = $_SERVER['REMOTE_ADDR'];
$exec = mysql_query("insert into tbllog(ip,tarih) values('$ip','$a')");
$z = $a-1;
$q = mysql_query("select * from tbllog where ip='$ip' and tarih >='$z'");
if(mysql_num_rows($q)>=40)
{
$ban = mysql_query("insert into tblbanlist(ip) values('$ip')");
if($ban)
{
header('Location: ban.html');
}
}
$q2 = mysql_query("select * from tblbanlist where ip='$ip'");
if(mysql_num_rows($q2)>=2)
{
header('Location: ban.html');
}
$settime = "00:00";
$gettime = date("h:i");
if($gettime==$settime)
{
$trunlog = mysql_query("truncate table tbllog");
if($trun)
{
header('Location: bakim.html');
}
}
$setday = "15";
$a = date("d");
if($setday==$a)
{
$trunban = mysql_query("truncate table tblbanlist");
if($trunban)
{
header('Location: bakim.html');
}
}
Kodları okuyamayan arkadaşlar için özet olarak site içerisinde herhangi birisi bir dakika içerisinde 40'dan fazla link açıyorsa bu adamı mimlemek gerekiyor, ilk mimleme hamlesinden sonra tekrar bir dakika içerisinde 40'dan fazla hamle yapıyorsa banlamak gerekiyor.Bu kodları config.php dosyanıza koyup veritabanı işlemi yaptığınız her yerde kullanarak php programlama dili ile saldırılardan bir nebze korunabilirsiniz.Her ayın 15'inde ban listesi tamamen temizlenir her gece saat 12'de eğer sitede gezinen varsa log tablosu temizlenir böylece mysql'in şişmesi engellenir...Mantık olarak ayın 15'inde bütün kullanıcılar bakim.html'e yönlendirilir.Bu nedenle kodları istediğiniz zaman çalıştırmak üzere yakın bir zamanda fonksiyonelleştireceğiz.Kodları kullanırken veritabanı içerisinde ,
CREATE TABLE `tblbanlist` (
`id` int(11) NOT NULL auto_increment,
`ip` varchar(50) collate utf8_turkish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=5 ;
CREATE TABLE `tbllog` (
`id` int(11) NOT NULL auto_increment,
`ip` varchar(50) collate utf8_turkish_ci NOT NULL,
`tarih` varchar(50) collate utf8_turkish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=80 ;
şu sorguları çalıştırınız.
6 Ocak 2010 Çarşamba
Asp.Net C# Zip,Unzip İşlemleri, Basit Script
Selam arkadaşlar gece öyle geziyordum , projelerimi test ettiğim sunucuya her ne kadar remote erişebilsemde bazen aksaklıkların oldugu sunuculardada çalışmam gerekebiliyor ve buralarda çok büyük boyutlarda dosyaları (600 mb kadar) indirmemiz gerebiliyor , herkesinde bildiği gibi sunucudan bir dosyayı çekmek ile birden fazla dosyayı çekerken ki süre arasında mutlaka bir fark olur (çünkü her dosya için bir soket açılıp kapatılşması paketlerin gönderilmesi vs. zaman alır ancak tek bir dosya için soket açılır ve paketler soket boyunca yollanır)ve dosya hiyerarşileri bazen karışabiliyor veya bit ftp client aracılığı ile dosyaları çektiğimizden(php dosyaları taracıyı ile çekemediğimiz için) baglantıda problemler olduğunda kodlarda problemler çıkabiliyor vs.
Kısaca sunucudan tek bir dosya çekmek idealdir bende dedim ki neden httpdocs veya bir klasör oluşturup dosyaları oraya atıp onu zipleyip sunucudan http protokolü ile çekmeyim ?
Bir script yazdım asp.net ile umarım faydalı olur.
<a href="http://access.gen.tr/kerem125/ZipUnZip.rar">İndir</a>
İndir
Kısaca sunucudan tek bir dosya çekmek idealdir bende dedim ki neden httpdocs veya bir klasör oluşturup dosyaları oraya atıp onu zipleyip sunucudan http protokolü ile çekmeyim ?
Bir script yazdım asp.net ile umarım faydalı olur.
<a href="http://access.gen.tr/kerem125/ZipUnZip.rar">İndir</a>
İndir
Kaydol:
Kayıtlar (Atom)