如何解决在 PHP 中,我们有 santize 来确保 String 是安全的 Java 的相似之处是什么
在 PHP 中,我们有 santize 以确保 String 是安全的。 Java 有什么类似的东西。 我知道 PreparedStatement 。但这对我的项目没有帮助。 是否有一些东西只检查 String 中的字母。
query = "SELECT Bill_No,No,Item,Count,Rate,GST,Net,Date,Time,Manager FROM bill WHERE Manager = '"+Manager_str+"'; ";
//This is definitely insecure
解决方法
Character
类有一个方法 isAlphabetic
,您可以通过循环输入字符串中的字符来使用它。
for(char c : query.toCharArray()) {
if(!Character.isAlphabetic(c)) {
return false;
}
}
return true;
如果您使用的是 Java 8 或更高版本,则可以使用流:
return query.chars().allMatch(Character::isAlphabetic);
,
试试这个。
public static void main(String args[]) {
String str="sadahkk";
System.out.println("str :"+str +",isAlphabetsOnly:"+isAlphabetsOnly(str));
str="";
System.out.println("str :"+str +",isAlphabetsOnly:"+isAlphabetsOnly(str));
str="sada5hkk";
System.out.println("str :"+str +",isAlphabetsOnly:"+isAlphabetsOnly(str));
str="<alert>";
System.out.println("str :"+str +",isAlphabetsOnly:"+isAlphabetsOnly(str));
str="-- sadahkk";
System.out.println("str :"+str +",isAlphabetsOnly:"+isAlphabetsOnly(str));
str="@fgfg";
System.out.println("str :"+str +",isAlphabetsOnly:"+isAlphabetsOnly(str));
}
public static boolean isAlphabetsOnly(String str ) {
return ((!str.equals(""))
&& (str != null)
&& (str.matches("^[a-zA-Z]*$")));
}
================================================ ========
输出如下
str :sadahkk,isAlphabetsOnly:true
str :,isAlphabetsOnly:false
str :sada5hkk,isAlphabetsOnly:false
str :,isAlphabetsOnly:false
str :-- sadahkk,isAlphabetsOnly:false
str :@fgfg,isAlphabetsOnly:false
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。