Bir mysql db içine URL değişkenlerini ekler PHP Script?

2 Cevap php

Ben bir php komut dosyası bir mysql tabloya satır eklemek için basit ve güvenli bir script arıyorum.

arayarak http://www.myserver.com/addtosometable.php?1=asdf&2=asdf ....

Ben özellikle nasıl, daha doğrusu bu bir örnek komut dosyası oluşturmak ve en iyi uygulamaları ile bunu güncel tutmak için iyi bir platform olacağını düşündüm sormuyorum ...

Şerefe

2 Cevap

tüm URL değişkenlerini (değişkenleri GET) bir dizi olarak PHP değişken $_GET konur.

Yukarıdaki örneği kullanarak myfile.php?1=asdf&2=asdf script bu gibi görünen bir dizi erişim olurdu:

array(
    1 => "asdf"
    2 => "asdf"
)

Kendiniz için bu görmek istiyorsanız, sadece dosyada bu koymak:

print_r($_GET);

Oradan cleaning the variables to avoid injection attacks basit bir görev olabilir ve daha sonra bir INSERT deyimi oluşturmak gerekir. Ben bu konuda özellikle size yardımcı olmak için tablo yapısı ve etajer hakkında daha fazla bilgi gerekiyordu. Üzerinde dokümanlar bakın mysql_real_escape_string.

Eğer MySQL 5 kullanıyorsanız, SQL Injection çoğu biçimlerini önlemek için hazırlanan ifadeleri kullanabilirsiniz.


$stmt = $db->prepare("INSERT INTO table ( col1, col2 ) values ( ?, ? );
// check for errors 
$result = $stmt->execute( $_GET['1'], $_GET['2'] );
// check for errors

Ben hala XSS (Cross-Site-Scripting) saldırıları hakkında endişelenmenize gerek inanıyorum, ama bu benim ötesindedir bulunuyor.