Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
207
Tıklama
0
Öne Çıkarma
PDO Güvenlik
D
4 yıl
Er
Konu Sahibi

Arkadaşlar PDO ile bir çalışma yapıyorum. ama güvenlik konsunda nasıl bir eksikğim var yardımcı olabilirmsiniz.


Kodlarım genelde böyle özel sayfa yapıları oluşturdum. şimdilik .php?id=1 şeklinde kullanıyorum. ama tabi çalışmam bittiğinde bu işlemi kaldırıp htacces üzerinden yapacam işlemi.

güvenlik açığım nedir ?
<?php 


ob_start();
session_start();
include 'include/baglan.php';
date_default_timezone_set('Europe/Istanbul');


$kullanicisor=$db->prepare("select * from ogrenci where ogrencimail=:ogrencimail");
$kullanicisor->execute(array(
  'ogrencimail' => $_SESSION['ogrencimail']
  ));


$say=$kullanicisor->rowCount();


if ($say==0) {
 
 header("Location:giris.php?durum=izinsiz");
 exit;
}






$kullanicicek=$kullanicisor->fetch(PDO::FETCH_ASSOC);






 ?>
  <?php
               


        
    $id = $_GET["id"];;
    $sorgu=$db->prepare("SELECT * FROM forum WHERE id=:id"); 
    $sorgu ->execute(array(":id" => $id));
    $forum=$sorgu-> fetch(PDO::FETCH_ASSOC); 
    


 
  ?>


 <?php
if (isset($_POST['gonder'])) {




    $yazi = $_POST["yazi"];
    $gonderen = $_POST["gonderen"];
    $konu = $_POST["konu"];
    $tarih = $_POST["tarih"];
    $ekle=$db->prepare("INSERT INTO forumcevap set yazi=?, gonderen=?, konu=?,  tarih=?"); 
    $ekle ->execute(array($yazi, $gonderen, $konu, $tarih));




      header('Location: index.php');




    } 




  








?>
 
<?php include 'ust.php'; 
include 'sidebar.php';?>
  <!-- Content -->
  <div class="layout-content" data-scrollable>
    <div class="container-fluid">


      <ol class="breadcrumb">
        [*][link=index.php]Karakutu[/link]

        [*][link=forum.php]Forum[/link]

        <li class="active"><?php echo $forum["baslik"]; ?></li>
      </ol>
      <div class="media">
        <div class="media-body media-middle">
          <h1 class="page-title m-b-0 h2"><?php echo $forum["baslik"]; ?></h1>
          <p class="page-title m-b-0 h6"><?php echo $forum["yazi"]; ?></p>          <p class="text-muted small"><a><?php echo $forum["gonderen"]; ?></a> | <?php echo $forum["tarih"]; ?></p>
        </div>
        <div class="media-right media-middle">
          <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=147706217&url=#commentBox" class="btn btn-white btn-circle" data-href="#commentBox" class="btn btn-white btn-circle"><i class="material-icons">comment</i></a>
        </div>
      </div>
                        <?php 
$sorgu=$db->prepare("SELECT * FROM forumcevap WHERE konu='".$forum['id']."'  ");   
 $sorgu ->execute(array(":konu" =>$forum['id']));
    $cevaplar=$sorgu-> fetchAll(PDO::FETCH_OBJ); ?>


  
             
           
              <?php foreach($cevaplar as $cevap) { ?>
      <div class="media">
        <div class="media-left center">
          <img src="../img/kullanici/" alt="" class="img-circle" width="40">
        </div>
        <div class="media-body">
          <div class="card">
            <div class="p-a-1">
              <p>
                <a><?=$cevap->gonderen?></a>
                <small class="text-muted"><?=$cevap->tarih?></small>
              </p>
              <p>
                "<?=$cevap->yazi?>"
              </p>
          
            </div>
          </div>
        </div>
      </div>
         <?php }   ?>  
      <div class="card" id="commentBox">
        <div class="card-header">
          <h4 class="card-title">Yanıt ver</h4>
         <form action="" method="post">
            <div class="col-md-12">
                <fieldset class="form-group">
                 
                  <textarea class="form-control" id="exampleTextarea" rows="3"></textarea>
                </fieldset>
              
                <button type="submit" class="btn btn-primary" name="gonder">Gönder</button>
              </form>
        </div>
        
      </div>


    </div>
  </div>


  <!-- jQuery -->
  <script src="assets/vendor/jquery.min.js"></script>


  <!-- Bootstrap -->
  <script src="assets/vendor/tether.min.js"></script>
  <script src="assets/vendor/bootstrap.min.js"></script>




  <!-- AdminPlus -->
  <script src="assets/vendor/adminplus.js"></script>


  <!-- App JS -->
  <script src="assets/js/main.min.js"></script>


  <!-- Vendor JS -->
  <script src="assets/vendor/summernote.min.js"></script>


  <!-- Init -->
  <script src="examples/js/summernote.js"></script>


</body>


</html>

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



G
4 yıl
Çavuş

Pek uzman sayılmam. Benim görebildiklerim
1- Form kontrolü yok.
2- Formdan gelen verilerde Html ve javascript kodlarına karşı önlem almamışın.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.