sql >> Database teknologi >  >> RDS >> Oracle

Oracle SQL Injection Block med DBMS_ASSERT

query_string := 'SELECT '||dbms_assert.qualified_sql_name(trim(from_schema||'.'||from_table||'.'||return_field))|| 
                   ' FROM '||dbms_assert.schema_name(trim(from_schema))||
                        '.'||dbms_assert.sql_object_name(trim(from_table))||  
                  ' WHERE '||dbms_assert.qualified_sql_name(from_schema||'.'||from_table||'.'||key_field) || ' = '||key_value;



 EXECUTE IMMEDIATE query_string into return_result;

Fra Docs..

  • ENQUOTE_LITERAL – Anfører en bogstavlig streng
  • ENQUOTE_NAME - Omslutter et navn i dobbelte citater
  • NOOP - Returnerer værdien uden kontrol
  • QUALIFIED_SQL_NAME - Bekræfter, at inputstrengen er et kvalificeret SQL-navn
  • SCHEMA_NAME - Funktion Bekræfter, at inputstrengen er et eksisterende skemanavn
  • SIMPLE_SQL_NAME - Bekræfter, at inputstrengen er et simpelt SQL-navn
  • SQL_OBJECT_NAME - Verificerer, at inputparameterstrengen er en kvalificeret SQL-id for et eksisterende SQL-objekt



  1. Grunde til at være optimistisk med hensyn til fremtiden for Microsoft Access

  2. hvordan man får sidste indsættelses-id efter indsæt forespørgsel i kodeigniter aktiv post

  3. Oracle - Hvorfor skal jeg bruge pakker i stedet for selvstændige procedurer eller funktioner

  4. PostgreSQL vs. MySQL