mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-06-20 08:25:16 +00:00
Can get POST virtual directories
This commit is contained in:
@ -3,4 +3,5 @@
|
||||
//! This module contains utilities that can be used anywhere in the code
|
||||
|
||||
pub mod crypt_utils;
|
||||
pub mod user_data_utils;
|
||||
pub mod user_data_utils;
|
||||
pub mod virtual_directories_utils;
|
27
src/utils/virtual_directories_utils.rs
Normal file
27
src/utils/virtual_directories_utils.rs
Normal file
@ -0,0 +1,27 @@
|
||||
//! # Virtual directory utilities
|
||||
//!
|
||||
//! @author Pierre Hubert
|
||||
|
||||
/// Check out whether a virtual directory is valid or not
|
||||
///
|
||||
/// ```
|
||||
/// use comunic_server::utils::virtual_directories_utils::check_virtual_directory;
|
||||
///
|
||||
/// assert_eq!(check_virtual_directory("ab"), false);
|
||||
/// assert_eq!(check_virtual_directory("john"), true);
|
||||
/// assert_eq!(check_virtual_directory("secret123"), true);
|
||||
/// assert_eq!(check_virtual_directory("ab.php"), false);
|
||||
/// ```
|
||||
pub fn check_virtual_directory(dir: &str) -> bool {
|
||||
if dir.len() < 4 || dir.len() > 30 {
|
||||
return false;
|
||||
}
|
||||
|
||||
for d in vec![".html", ".txt", ".php", "à", "â", "é", "ê", "@", "/", "\"", "'", "<", ">", "?", "&", "#"] {
|
||||
if dir.contains(d) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
true
|
||||
}
|
Reference in New Issue
Block a user