3 个不稳定版本
0.2.0 | 2020年9月17日 |
---|---|
0.1.1 | 2020年9月17日 |
0.1.0 | 2020年9月17日 |
#5 in #canonicalize
被 2 crates 使用
17KB
386 代码行数(不包括注释)
url_normalizer
url_normalizer 通过正则表达式标准化 URL 路径并从 URL 中移除参数。
示例用法
use url_normalizer::normalizer;
fn main() {
let tainted_url1 = "https://example.com/main.php?c=1&b=2&a=5";
let normalizer1 = normalizer::UrlNormalizer::new(tainted_url1).unwrap();
assert_eq!("https://example.com/main.php?a=5&b=2&c=1", normalizer1.normalize(None).unwrap());
let tainted_url2 = "https://example.com:8080/main.php?c=1&b=2&a=5&utm_source=facebook&utm_medium=social&utm_campaign=seofanpage";
let normalizer2 = normalizer::UrlNormalizer::new(tainted_url2).unwrap();
assert_eq!("https://example.com:8080/main.php?a=5&b=2&c=1", normalizer2.normalize(Some(&["utm_.*"])).unwrap());
let tainted_url3 = "https://example.com:8080/./main.php?c=1&b=2&a=5";
let normalizer3 = normalizer::UrlNormalizer::new(tainted_url3).unwrap();
assert_eq!("https://example.com:8080/main.php?a=5&b=2&c=1", normalizer3.normalize(None).unwrap());
}
依赖项
~3–4.5MB
~101K SLoC