2016-04-11 12 views
-2

Veritabanım ve aşağıdaki gibi verileri alma im var.Ama sql enjeksiyonları tarafından önlemek için onları daha güvenli almalıyım.in komutum aşağıda ve aşağıdaki gibi tüm alanları alıyorum Alanları göstermek istediğim bir yerde yankılanmak. Lütfen bana ulaşmak için güvenli bir yol söyle. Lütfen bana yardım edin, herhangi bir yardım için teşekkür edin. Ve işlevi almak için ise kullanmak istediğiniz tüm data.Please kullanıcı girişini kullanmak varsa banasql enjeksiyonları önlemek için veri güvenli nasıl alınır

<?php 
$getdata ="SELECT * FROM tblname ODER BY "; 
$result = mysql_query($getdata); 
$row = mysql_fetch_array($result); 
$bookName = $row['bookName']; 
$timestamp = $row['timestamp']; 
$Country = $row['Country']; 
$Category = $row['Category']; 
$Price = $row['Price']; 
$Photo1name = $row['Photo1name']; 
    ?> 

cevap

1

SQL injection sadece yapılabilir yardımcı olur.
Veritabanından okurken güvende olursunuz. Kodunuz ile mysql_real_escape_string'u kullanmalısınız, ancak PDO'yu kullanmanızı öneririm ve otomatik kaçış değerlerine yönelik ifadeler hazırlar.

$sth = $dbh->prepare('SELECT * FROM tblname WHERE name = :name ORDER BY'); 
$sth->execute([':name' => $_POST['name']]); 
$result = $sth->fetchAll(); 

çıktı htmlentities veya strip_tags fonksiyonlarını kullanmayı deneyin dezenfekte.

$pdo = PDO('mysql:host=localhost;dbname=test', 'root', 'iAmD4B3st!'); 
$sql = $pdo->prepare("INSERT INTO my_table (name, surname) VALUES (:name, :surname)"); 
$sql->execute([ 
    ':name' => isset($_POST['name']) ? $_POST['name'] : '', 
    ':surname' => isset($_POST['surname']) ? $_POST['surname'] : '', 
]); 
+0

Im sterilize giriş alanları:

değerleri kaçmak zorunda SQL enjeksiyon önlemek için. Ama im komut dosyası bunu bilmek tercih ederim, PDO'yu, sen –

+0

@LeoneMaleash PDO olmayan bir() Teşekkür? Nasıl tüm verileri almak ve bir div etiketine de gösterilecek lütfen bana Dont know , aoc değil Veritabanlarıyla çalışmak için -deprecated kütüphanesi. '' bir div etiketinde göster ': '

' – Justinas

+0

aslında buna takıldım. Verileri ekledikçe bir satırlık veri elde ediyorum. $ getdataquery = mysql_query ("SELECT" bookName "," bookAccessLink "," timestamp "," Country "," Category "," Price "," Photo1name ", tblname SİPARİŞ BY zaman damgası DESC LIMIT 0, 25"); süre ($ satır = mysql_fetch_array ($ getdataquery)) { $ bookname \t = $ satır [ 'AdName']; $ bookAccessLink = $ row ['AdAccessLink']; $ timestamp = $ row ['timestamp']; $ Ülke \t = $ satır ['Ülke']; $ Kategori = $ satır ['Kategori']; $ Fiyat \t = $ row ['Price']; $ Fotoğraf1name = $ satır ['Photo1name']; } –

İlgili konular