0Pricing
PHP Academy · Ders

Form Doğrulama

Güvenlik ve doğruluk için kullanıcı girdilerini doğrulayın

Form Doğrulama, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 3 dersten oluşur.

Form Girdilerini Doğrulama ve Güvenli Hâle Getirme

Form Girdilerini Doğrulama ve Güvenli Hâle Getirme

Bir sonraki derse hoş geldiniz! Bu derste, formlarınızın doğru çalışmasını ve kötü amaçlı saldırılara karşı korunmasını sağlamak için kullanıcı girdilerini nasıl doğrulayacağınızı ve güvenli hâle getireceğinizi öğreneceksiniz. Hadi başlayalım!

Form Doğrulama — resim 1

Girdileri Neden Doğrulamalı ve Güvenli Hâle Getirmelisiniz?

Girdileri Neden Doğrulamalı ve Güvenli Hâle Getirmelisiniz?

Form girdilerini doğrulamak ve güvenli hâle getirmek şu amaçlar için çok önemlidir:

  • Verilerin doğruluğunu ve kullanılabilirliğini sağlamak.
  • SQL enjeksiyonu ve XSS saldırıları gibi güvenlik tehditlerine karşı korunmak.

Önemli Nokta: Kullanıcı girdilerini işlemeden veya depolamadan önce her zaman doğrulayın ve temizleyin.

Girdileri Doğrulama

Girdileri Doğrulama

Yaygın girdileri doğrulamak için PHP'nin yerleşik işlevlerini kullanın:

  • filter_var(): E-posta adreslerini, URL'leri ve tam sayıları doğrular.
  • preg_match(): Girdileri düzenli ifadelere göre doğrular.

Örnek: Bir e-posta adresini doğrulama:

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $email = $_POST["email"];
    if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
      echo "Valid email: $email";
    } else {
      echo "Invalid email address.";
    }
  }
?>

Girdileri Temizleme

Girdileri Temizleme

İstenmeyen karakterleri veya zararlı kodu kaldırmak için girdileri temizleyin. Örnek:

İpucu: Farklı veri türleri için uygun filtrelerle filter_var() kullanın.

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = filter_var($_POST["name"], FILTER_SANITIZE_STRING);
    echo "Sanitized Name: $name";
  }
?>

Siteler Arası Betik Çalıştırmayı (XSS) Önleme

Siteler Arası Betik Çalıştırmayı (XSS) Önleme

XSS saldırılarını önlemek için özel karakterleri kaçışlayın. Şunu kullanın:

  • htmlspecialchars(): Özel karakterleri HTML varlıklarına dönüştürür.

Örnek:

İpucu: Kullanıcı girdilerini tarayıcıda görüntülemeden önce her zaman kaçışlayın.

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $comment = htmlspecialchars($_POST["comment"]);
    echo "Comment: $comment";
  }
?>

SQL Enjeksiyonunu Önleme

SQL Enjeksiyonunu Önleme

SQL enjeksiyonu, kötü amaçlı kod SQL sorgularınıza eklendiğinde gerçekleşir. Bunu önlemek için hazırlanmış ifadeler kullanın. Örnek:

Önemli Nokta: Veritabanı etkileşimlerinde her zaman hazırlanmış ifadeler kullanın.

<?php
  $pdo = new PDO("mysql:host=localhost;dbname=testdb", "root", "");
  $stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
  $stmt->execute(["username" => $_POST["username"]]);
  $user = $stmt->fetch();
?>

Yaygın Doğrulama Kalıpları

Yaygın Doğrulama Kalıpları

İşte bazı yaygın kalıplar:

  • Telefon numarasını doğrulama: preg_match('/^\d{10}$/', $phone)
  • Parolayı doğrulama: Uzunluğunu ve karmaşıklığını kontrol edin.

Örnek: Güçlü bir parolayı doğrulama:

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $password = $_POST["password"];
    if (strlen($password) >= 8 && preg_match('/[A-Z]/', $password)) {
      echo "Strong password!";
    } else {
      echo "Password must be at least 8 characters long and include an uppercase letter.";
    }
  }
?>

Dosya Yüklemelerini Güvenli Hâle Getirme

Dosya Yüklemelerini Güvenli Hâle Getirme

Dosya yüklemelerini işleyen formlar için:

  • Dosya türünü ve boyutunu kontrol edin.
  • Dosyaları web kök dizininin dışındaki güvenli bir dizinde depolayın.

Örnek:

<?php
  if ($_FILES["file"]["size"] < 500000 && in_array($_FILES["file"]["type"], ["image/jpeg", "image/png"])) {
    move_uploaded_file($_FILES["file"]["tmp_name"], "/secure/location/" . $_FILES["file"]["name"]);
    echo "File uploaded successfully!";
  } else {
    echo "Invalid file.";
  }
?>

Harika İş Çıkardınız!

Harika İş Çıkardınız!

Tebrikler! Web uygulamalarınızın güvenli ve güvenilir olmasını sağlamak için form girdilerini nasıl doğrulayacağınızı ve güvenli hâle getireceğinizi öğrendiniz. Bir sonraki derste PHP'de dosya yüklemelerini ele alacağız. Kod yazmaya devam edelim!

Form Doğrulama — resim 10

Sıkça Sorulan Sorular

“Form Doğrulama” dersi ücretsiz mi?

Evet — “Form Doğrulama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 3 dersten oluşur.

“Form Doğrulama” dersinde ne öğreneceğim?

Güvenlik ve doğruluk için kullanıcı girdilerini doğrulayın PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

PHP Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.

“Form Doğrulama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. HTML Formları Oluşturma
  2. PHP ile Form Verilerini İşleme
  3. Form Doğrulama
← PHP Academy Sayfasına Dön