Java防止路径操控和命令注入 代码
public class
Test
{
public static void main(String[] args)
{
System.out.println(getSafeCommand("abcd&efg"));
System.out.println(getSafePath("abcd/efg"));
}
/**
* Get the safe
path
* @param filePath Enter the
path
* @return Safe
path
*/
public static
String getSafePath(String filePath)
{
// return
safe path
StringBuffer safePath = new
StringBuffer();
// safe path white list
String whiteList =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-=[];‘,.
~!@#$%^&*()_+\"{}|:<>?";
char[] safePathChars =
filePath.toCharArray();
for (int i = 0, length = safePathChars.length; i < length;
i++)
{
int whiteListIndex =
whiteList.indexOf(safePathChars);
if (-1 == whiteListIndex)
{
return
safePath.toString();
}
safePath.append(whiteList.charAt(whiteListIndex));
}
return safePath.toString();
}
/**
* Get
the safe command
* @param command Enter the
command
* @return Safe command
*/
public static String
getSafeCommand(String command)
{
// return safe
command
StringBuffer
safeCommand = new StringBuffer();
// safe command white list
String whiteList =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-=[]\\‘,./
~!@#$%^*()_+\"{}:<>?";
char[] safeCommandChars =
command.toCharArray();
for (int i = 0, length = safeCommandChars.length; i <
length; i++)
{
int whiteListIndex =
whiteList.indexOf(safeCommandChars);
if (-1 == whiteListIndex)
{
return
safeCommand.toString();
}
safeCommand.append(whiteList.charAt(whiteListIndex));
}
return safeCommand.toString();
}
}
创意横幅
文章来源:http://www.huiyi8.com/hengfu/chaungyi/
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。