我正在通过Hp Fortify运行代码并且有一些路径处理发现。我了解它的背景并试图解决。HP Fortify验证规则路径操作
我试图集中它来代替从数据库中查询某个路径值来存储输出文件(日志,导出数据等)的所有地方。因此,我不想让File.WriteAllText()带有一些路径+文件名,内容,而是想包装成
FortifyFileWriteAllText()。然后,在这个函数中我做路径验证检查一次达阵,如果有效,才允许写继续等......
public static bool FortifyFileWriteAllText(string fileToWrite, string content)
{
if(! MyPathValidationRoutine(fileToWrite))
return false;
File.WriteAllText(fileToWrite, content);
return true;
}
所以,我知道这是很实际的缩写验证和预防坏写道,但我呼吁Path.GetFullPath(),以防止任何这样的..\..\..
路径引用。然后查看最后一个路径,明确指出根目录C:,C:\ Windows和其他一些东西,但也有一个“清理”路径列表。
那么,我将如何去应用一个规则,说什么去这个例程是好的,并已明确检查和确定。
而不是通用的清洁规则,我不得不去路径操纵污点。谢谢 – DRapp