cc: Add regex validators for ransomware directory path validation

This commit is contained in:
Shreya 2021-07-01 13:29:05 +05:30
parent 8af93c4304
commit 3d48a11fc2
1 changed files with 18 additions and 1 deletions

View File

@ -1,13 +1,22 @@
const ipRegex = '((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' const ipRegex = '((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'
const cidrNotationRegex = '([0-9]|1[0-9]|2[0-9]|3[0-2])' const cidrNotationRegex = '([0-9]|1[0-9]|2[0-9]|3[0-2])'
const hostnameRegex = '^([A-Za-z0-9]*[A-Za-z]+[A-Za-z0-9]*.?)*([A-Za-z0-9]*[A-Za-z]+[A-Za-z0-9]*)$' const hostnameRegex = '^([A-Za-z0-9]*[A-Za-z]+[A-Za-z0-9]*.?)*([A-Za-z0-9]*[A-Za-z]+[A-Za-z0-9]*)$'
// path starts with `/` OR `$`
const linuxDirRegex = '^/|\\$'
// path starts like `C:\` OR `C:/` OR `$` OR `%abc%`
const windowsDirRegex = '^([A-Za-z]:(\\\\|\\/))|\\$|(%\\w*\\d*\\s*%)'
export const IP_RANGE = 'ip-range'; export const IP_RANGE = 'ip-range';
export const IP = 'ip'; export const IP = 'ip';
export const VALID_DIR_LINUX = 'valid-directory-linux'
export const VALID_DIR_WINDOWS = 'valid-directory-windows'
export const formValidationFormats = { export const formValidationFormats = {
[IP_RANGE]: buildIpRangeRegex(), [IP_RANGE]: buildIpRangeRegex(),
[IP]: buildIpRegex() [IP]: buildIpRegex(),
[VALID_DIR_LINUX]: buildValidDirLinuxRegex(),
[VALID_DIR_WINDOWS]: buildValidDirWindowsRegex()
}; };
function buildIpRangeRegex(){ function buildIpRangeRegex(){
@ -22,3 +31,11 @@ function buildIpRangeRegex(){
function buildIpRegex(){ function buildIpRegex(){
return new RegExp('^'+ipRegex+'$') return new RegExp('^'+ipRegex+'$')
} }
function buildValidDirLinuxRegex() {
return new RegExp(linuxDirRegex)
}
function buildValidDirWindowsRegex() {
return new RegExp(windowsDirRegex)
}