pub struct WhitelistValidator { /* private fields */ }Expand description
Whitelist validator that restricts SQL to only access allowed tables and columns.
Implementations§
Source§impl WhitelistValidator
impl WhitelistValidator
Sourcepub fn allow_table(self, table: &str) -> Self
pub fn allow_table(self, table: &str) -> Self
Add an allowed table name.
Sourcepub fn allow_tables(self, tables: &[&str]) -> Self
pub fn allow_tables(self, tables: &[&str]) -> Self
Add multiple allowed table names.
Sourcepub fn allow_columns(self, columns: &[&str]) -> Self
pub fn allow_columns(self, columns: &[&str]) -> Self
Set the allowed column name set. After setting, columns referenced in SQL must be in the set.
Sourcepub fn validate_tables(&self, sql: &str) -> ValidationResult
pub fn validate_tables(&self, sql: &str) -> ValidationResult
Validate that table names in SQL are within the whitelist.
Extracts all identifiers appearing after FROM / JOIN / INTO / UPDATE via lexical analysis,
and checks whether they are in the allowed_tables set.
Sourcepub fn validate_columns(&self, sql: &str) -> ValidationResult
pub fn validate_columns(&self, sql: &str) -> ValidationResult
Validate that column names in SQL are within the whitelist.
Extracts identifiers after SELECT, in WHERE clauses, and after SET as column names for validation. Note: this validation is heuristic and may not cover all column reference scenarios.
Sourcepub fn validate(&self, sql: &str) -> ValidationResult
pub fn validate(&self, sql: &str) -> ValidationResult
Validate both table names and column names.
Trait Implementations§
Source§impl Clone for WhitelistValidator
impl Clone for WhitelistValidator
Source§fn clone(&self) -> WhitelistValidator
fn clone(&self) -> WhitelistValidator
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WhitelistValidator
impl Debug for WhitelistValidator
Source§impl Default for WhitelistValidator
impl Default for WhitelistValidator
Source§fn default() -> WhitelistValidator
fn default() -> WhitelistValidator
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for WhitelistValidator
impl RefUnwindSafe for WhitelistValidator
impl Send for WhitelistValidator
impl Sync for WhitelistValidator
impl Unpin for WhitelistValidator
impl UnsafeUnpin for WhitelistValidator
impl UnwindSafe for WhitelistValidator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more