PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

क्या pg_prepare() तैयार कथन (पीडीओ नहीं) SQL-इंजेक्शन को रोकता है?

तैयार कथन SQL इंजेक्शन से सुरक्षित है क्योंकि कोई भी बाद . के क्वेरीप्लान को नहीं बदल सकता है यह तैयार है। लेकिन, यदि आपके कथन में पहले से ही छेड़छाड़ की गई है, तो भी आप SQL इंजेक्शन से पीड़ित हैं:

<?php 
// how NOT to construct your SQL....
$query = 'SELECT * FROM user WHERE login=$1 and password=md5($2) LIMIT '. $_POST['limit']; -- injection!
$result = pg_prepare($dbconn, "", $query);
$result = pg_execute($dbconn, "", array($_POST["user"], $_POST["password"]));
if (pg_num_rows($result) < 1) {
  die ("failure");
}
?>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Amazon Redshift/PostgreSQL में एक केस एक्सप्रेशन द्वारा कुशल समूह

  2. Django फ़िल्टर कॉल से लौटाई गई सूची का डिफ़ॉल्ट क्रम क्या है?

  3. पोस्टग्रेएसक्यूएल में क्रॉसस्टैब () का उपयोग करते समय उद्धरण चिह्न गलत है

  4. पोस्टग्रेज सीटीई:टाइप कैरेक्टर अलग-अलग (255) [] गैर-पुनरावर्ती शब्द में लेकिन टाइप कैरेक्टर अलग-अलग [] समग्र रूप से

  5. इसके कारण:org.hibernate.MappingException:इकाई के लिए मैपिंग में बार-बार कॉलम