Hocam kayıt formunda şifre "pass" hanesine şunu yazarsak muhtemelen script sıçar. '); DROP TABLE uyeler; -- PDO bind param ile prapared statement'ları kullanmalısın hocam. XSS içinde htmlspecialchars vardı sanırım onu kullanabilirsin. Fazla bakamadım kodlara, başka arkadaşlar yardımcı olur eksik sylediğim yerlerde. İyi akşamlar Bu imzayı her grdüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı smürmektir

merhaba arkadaşlar geçende Webmatrix kurmaya çalışıp kuramamıştım sonrasında webmatrix'ten vazgeçip çok güzel kral sade temiz XAMPP i ğrendim müritlerimizden ve onu kurdum. kendi kendime denemelerimi yapabiliyorum artık. php konusunda anlayamadığım yerler var zellikle error handling ve exception konusu derslerini aldığım yerde bunları çok detaylı anlatmadılar (w3schools) her neyse buna rağmen ben kendi kendime yapmaya çalıştığım bir deneme sistem var sınıf listesi, notları grme, not girme vesaire gibi şeyler ile kayıt ol, oturum aç. kayıt ol kısmını yaptım aklımda bazı sorular oluştu ama bu soruları sorarken yaptığımı da gstereyim dedim bir video çektim video: https://youtu.be/1vAtq3nL8fc zetle: signup.html ile form oluşturdum post metodu ile signup. php'ye koydum onun da bu bilgileri database e koymasını ve bizi bir yere ynlendirmesini istedim. sorumsa: bu signup. php'de $_POST şeklinde çekiyorum veriyi fakat byle yazınca nereden post gelse veriyi çekiyor o isimde. yani bi adam istese herhangi bir yerden database e istediğini koyabilir. bunu engellemek için ne yapacağımı bilemediğimden kendimce koca bir if açtım ve if ise kodları çalıştır değilse çalıştırma gibi bir şey yaptım. doğru bir yntem midir nasıldır bilemedim ama bir sorayım dedim. gereksiz bir soru sorduysam affola. esasen kendi çzümüm de hoşuma gitti onu da gstermek istedim :) signup. php kodlarım şyle: <?php if($_SERVER "http://localhost:90/mysql%20-%20php%20deneme/signup.html"){ $host = "127.0.0.1"; $username = "co"; $password = "123456"; $dbname = "ilkdeneme"; $table = "uyeler"; if { $kul_adi = $_POST ; $pass = $_POST ; try // burada exeption catch kodları var yine ne olduğunu tam bilmiyorum catch // burada connection'ı kaldırdık $conn = null; } } else ?> bu arada tagler kod içeriğini biraz bozmuş. şeyhimize geribildirim olsun buradan :) kofcu tarafından 27/Tem/15 00:48 tarihinde düzenlenmiştir ben de sevgiden yanayım...

Hocam o zaman XSS nedir, neden oluşur? Nasıl nlem alınır bir araştır. SQL İnjection nedir nasıl nlem alınır onuda araştır hocam. Şimdilik bunları ğrensen yeter. İleride LFI, CSRF felan araştırsan yeter. Kolay gelsin. Bu arada bana kalırsa onlarca zamandır php kullanmış biri olarak kurumsal amaçlı kullanacaksan PHP'yi ğrenmeni tavsiye etmem. zellikle takım çalışmasında. Tek sebebim kod okunabilirliği ve spagetti kod hocam. Standartları o kadar esnek ki herkes kafasına gre yazabilir. Yoksa hız konusunda felan (kasımdaki PHP 7 ile derlenebilir olacak) çoğu web tabanlı dile on basabilir. ASP. NET MVC ya da JAVA JSP JSF felan ğren hocam. Ama hobi amaçlı ve tek kişilik çalışacaksan kesinlikle PHP ye devam et derim. DrKill tarafından 26/Tem/15 21:58 tarihinde düzenlenmiştir Bu imzayı her grdüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı smürmektir

HTTP_REFFERER'a güvenme CURL ile istediğimi yazdırırım. PHP XSRF Protection diye arat güvenlikle alakalı bilgi bulursun. Byle basitten başlayarak uygulamalar yaparak geliştirirsin zaten kendini devam et. :) İmza...

Postla alma filter_inputla al.

DrKill PDO bind param ile prapared statement'ları kullanmalısın hocam. -ğrenmiştim ama nemini yeni kavradım hocam SQL injection için uygunmuş sanırım Prepared statements basically work like: 1. prepare 2. optimize 3. execute have two main advantages: 1. reduces parsing time 2. minimize bandwidth to the server(çünkü sorguyu 1 kere çekiyor sonra sadece parametre çekiyor) 3. very useful against SQL injections Yapılışı: connection'ı kurduktan sonra 1.$stmt = $conn->prepare("INSERT INTO $table VALUES "); 2.$stmt->bindparam ;$stmt->bindparam ; 3.$stmt->execute ; XSS içinde htmlspecialchars vardı sanırım onu kullanabilirsin. -bunun için de postu byle aldım $kul_adi = htmlspecialchars ; $pass = htmlspecialchars ; Fazla bakamadım kodlara, başka arkadaşlar yardımcı olur eksik sylediğim yerlerde. İyi akşamlar teşekkür ederim iyi günler :) XSS nedir, neden oluşur? Nasıl nlem alınır bir araştır. -cross side scripting için girişleri kontrol ettim $_SERVER gibi global variablellara htmlspecialchars uyguladım SQL İnjection nedir nasıl nlem alınır onuda araştır hocam. -prepared statements kullandım bunun için Şimdilik bunları ğrensen yeter. İleride LFI, CSRF felan araştırsan yeter. -LFI: Local File Input bi de RFI: Remote File Input varmış ama bu artık popüler değilmiş. Bu tür açıklar, Scriptte sayfa include edilirken, include edilecek sayfanın, kullanıcının müdahale edebildiği veriler üzerinden tanımlanmasından kaynaklanırmış. cross site scripting e benzettim. CSRF: Cross Site Request Forgery. seasurf diyorlarmış bir de neden anlamadım ama bu benim ilk sorduğum soru ve çzümüm şimdi ğrendiğim kadarıyla buna rnekmiş :) korunmak için 4 şey sylemişler 1. http-refferer kullanın. benim bilmeden yaptığım ama pSkpt müridin güvenilir olmadığını sylediği 2. geti uygunsuz yerlerde kullanma 3. post kullan 4. hidden değer gnder gibi bir şey demiş şyle de bir kod vermiş ama anlamadım <form...> <input type="hidden" name="csrf value"value="8dcb5e56904d9b7d4bbf333afdd154ca"> Bu arada bana kalırsa onlarca zamandır php kullanmış biri olarak kurumsal amaçlı kullanacaksan PHP'yi ğrenmeni tavsiye etmem. zellikle takım çalışmasında. Tek sebebim kod okunabilirliği ve spagetti kod hocam. Standartları o kadar esnek ki herkes kafasına gre yazabilir. Yoksa hız konusunda felan (kasımdaki PHP 7 ile derlenebilir olacak) çoğu web tabanlı dile on basabilir. ASP. NET MVC ya da JAVA JSP JSF felan ğren hocam. Ama hobi amaçlı ve tek kişilik çalışacaksan kesinlikle PHP ye devam et derim. -hobi sayılır hocam malesef. kendi kendime 2 yazdır web programlama ğrenmeye çalışıyorum. HTML, CSS, Javascript, SQL, PHP şeklinde gittim. Çok sağlam profesyonel bir şekilde ğrendim sayılmaz zaten sorular soruyorum grüyorsun, ama işte yle en azından adım atabilecek kadar kafa yorabilecek kadar ğrendim. eksiklerimi de pratik yapa yapa tamamlarım diye düşünüyorum. wert -17. satırındaki { kısmını anlamadım hocam pSkpt HTTP_REFFERER'a güvenme CURL ile istediğimi yazdırırım. -CURL ü de duydum ama şimdilik bana biraz uzak bir alan. referer a güvenmeyeceksem ne yapmalıyım bilemedim. ama bunu dediğin için http refferer'ı da htmlspecialchars dan geçirdim. napsam acaba tüm sayfayı baştan aşağı bir htmlspecialcharstan mı geçirsem güvenli olsun diye? :) PHP XSRF Protection diye arat güvenlikle alakalı bilgi bulursun. arattım. buldum. aynı şeyden bahseden diğer müride cevap olarak yazdım. Byle basitten başlayarak uygulamalar yaparak geliştirirsin zaten kendini devam et. :) teşekkür ederim bu yolda devam ediyorum bir süre daha :) kvasir Postla alma filter_inputla al. -onu beceremedim syntax hatası alıyorum nereyi yanlış yaptım bilemedim. o yüzden yine postla aldım ama htmlspecialchars dan geçirdim. syntax hatası aldığım halini koddan silmedim bir kontol edebilir misin? -> ve => ve :: ne ayak? derslerde kullanıldı ama hiç demediler bu demek falan diye notepad++ adam! adam! elektrik gitti sabah ama yazdıklarımı kurtardı validate data kısmını hem MySQL'den hem php'den hem de html üzerinde javascript ile yapmayı planlıyorum? nasıl olur? die ; anlamı ve kullanım alanları nedir? dışardan grüp almıştım orada yazdığı için koduma ekledim cookie kopyalasam şifreler de gelir mi? yani birinin cookie dosyalarını kopyalasam kendi cookielerime yapıştırsam sonra gelsem mesela facebook a girsem onun oturumu açılır mı? html purifier en iyisi diyorlar validate and sanitize için? <?php / function shield { $data = trim ; $data = stripslashes ; $data = htmlspecialchars ; return $data; / //bu fonksiyonu bu sayfada hiç kullanmadım ama kullansam mı diye düşündüm if(htmlspecialchars "http://localhost:90/mysql%20-%20php%20deneme/signup.html"){ $host = "127.0.0.1"; $username = "co"; $password = "123456"; $dbname = "ilkdeneme"; $table = "uyeler"; if { $kul_adi = htmlspecialchars ; $pass = htmlspecialchars ; / filter input syntax error alıyorum yardım. $kul_adi = filter_input(INPUT_POST, 'kul_adi', FILTER_SANITIZE_SPECIAL_CHARS]; $pass = filter_input(INPUT_POST, 'pass', FILTER_SANITIZE_SPECIAL_CHARS]; üsttekileri iptal edip çalıştırdım olmadı üsttekileri de aktif ettim olmadı üsttekileri aktif edip farklı isim verdim filter input a da o isimle koydum olmadı / try // burada exeption catch kodları var yine ne olduğunu tam bilmiyorum catch // burada connection'ı kaldırdık $conn = null; } } else ?> kofcu tarafından 28/Tem/15 14:14 tarihinde düzenlenmiştir ben de sevgiden yanayım...

tam emin olmamakla birlikte ve güvenmemen gerektiğini düşünerekten <?php if($_SERVER "http://localhost:90/mysql%20-%20php%20deneme/signup.html"){ $host = "127.0.0.1"; $username = "co"; $password = "123456"; $dbname = "ilkdeneme"; $table = "uyeler"; if && { $kul_adi = $_POST ; $pass = $_POST ; try // burada exeption catch kodları var yine ne olduğunu tam bilmiyorum catch // burada connection'ı kaldırdık $conn = null; } } else ?> wert tarafından 27/Tem/15 00:22 tarihinde düzenlenmiştir |sadece aptalların başarısı ders notu ile lçülür|

LAAAAAAN :D parantez kapatmayı unutmuşum filter_input'ta syntax hatası almamın nedenini şimdi attığım cevabı okurken fark ettim :D neyse yine de sormuş olayım htmlspecialchars or filter_input? şimdi de grdüm ki parantez kapatmayı unutmamışım düz parantez yerine kşeli parantez ile kapatmışım şift yerine alta basmışım yani :S :) kofcu tarafından 28/Tem/15 14:21 tarihinde düzenlenmiştir ben de sevgiden yanayım...

hehhheh :) evet doğru diyorsun. haberim var aslında bu tarz şeylerden kursta sylemişlerdi. aklımdaydı ama soruyu sormak için yazdım bu sayfayı ondan hiçbir şeye dikkat etmedim. doğru onları kullansam iyiydi sonuçta sorumu anlatmak için deneme de yazmış olsam düzgün bir script yazmam bende düzgün bir alışkanlık oluşturacaktır. onun dışında PDO bindparam'ı bilmiyorum. esasen PDO hakkında hiçbir şey bilmiyorum. sanırım en nemli kısımlardan biri ama w3schools çok yüzeysel geçmiş. php. net deki dkümantasyonu okusam mı diye düşündüm aslında sağlam ğrenmek için ama yaz bitince zaten artık bakamayacağım için o kadar zamanım yok. o yüzden deneme-yanılma, ihtiyaç-sonuç, beyin fırtınası gibi ilerlemye karar verdim biraz buradaki mürit kardeşlerimin başını ağrıtmış olacağım belki istemeyerek onun için kusura bakmayın. ama her şeyi de direk sormuyorum nce bir araştırma yapıyorum tabi o kadar da değil, tembellik olmuş olur.. ben de sevgiden yanayım...