Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle SQL Injection Block với 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;

Từ Tài liệu ..

  • ENQUOTE_LITERAL - Ký tự một chuỗi ký tự
  • ENQUOTE_NAME - Đặt tên trong dấu ngoặc kép
  • NOOP - Trả về giá trị mà không cần kiểm tra
  • QUALIFIED_SQL_NAME - Xác minh rằng chuỗi đầu vào là một tên SQL đủ điều kiện
  • SCHEMA_NAME - Hàm Xác minh rằng chuỗi đầu vào là tên lược đồ hiện có
  • SIMPLE_SQL_NAME - Xác minh rằng chuỗi đầu vào là một tên SQL đơn giản
  • SQL_OBJECT_NAME - Xác minh rằng chuỗi tham số đầu vào là mã định danh SQL đủ điều kiện của một đối tượng SQL hiện có



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-16789:nhật ký làm lại ở chế độ chờ được định cấu hình không chính xác

  2. Mã chuyên sâu I / O không đồng bộ chạy chậm hơn không đồng bộ, tại sao?

  3. Hàm TO_TIMESTAMP_TZ () trong Oracle

  4. ES miễn phí cho ngày phát hành 11.2.0.4 và 12.2

  5. bắt ngoại lệ DB trong ứng dụng JSF + EJB