Ⅰ SQL字符串过滤 检测是否有危险字符
|SQL字符串过滤函数:
public static bool ProcessSqlStr(string Str)
{
bool ReturnValue = true;
try
{
if (Str.Trim() != "")
{
string SqlStr = "exec|insert+|select+|delete|update|count|chr|mid|master+|truncate|char|declare|drop+|drop+table|creat+|create|*|iframe|script|";
SqlStr += "exec+|insert|delete+|update+|count(|count+|chr+|+mid(|+mid+|+master+|truncate+|char+|+char(|declare+|drop+table|creat+table";
string[] anySqlStr = SqlStr.Split('|');
foreach (string ss in anySqlStr)
{
if (Str.ToLower().IndexOf(ss) >= 0)
{
ReturnValue = false;
break;
}
}
}
}
catch
{
ReturnValue = false;
}
return ReturnValue;
}
以下是检测SQL语句中是否包含有非法危险的字符:
/// <summary>
/// 检测是否有Sql危险字符
/// </summary>
/// <param name="str">要判断字符串</param>
/// <returns>判断结果</returns>
public static bool IsSafeSqlString(string str)
{
return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
}
/// <summary>
/// 改正sql语句中的转义字符
/// </summary>
public static string mashSQL(string str)
{
string str2;
if (str == null)
{
str2 = "";
}
else
{
str = str.Replace("\'", "'");
str2 = str;
}
return str2;
}
Ⅱ c# 字符串过滤
stringstr="chenlin0705,陈林;chenwanjiang1217,陈万江;gaoxue1208,高雪;jiajinxue0306,贾进学;jiaojunyi0104,焦军毅;limin0808,李旻;sunguiming0410,孙桂明;wangjingyu0426,王晶瑜;wuming0802,吴名;yangyang0206,杨杨;yugongjie0912,于公捷;谷秋颖,谷秋颖";
string[]s_array=str.Split(';');
if(s_array!=null&&s_array.Length>0)
{
string[]child_array=null;
foreach(stringsins_array)
{
child_array=s.Split(',');
Response.Write(child_array[1]+",");
}
}
Ⅲ C语言实验题——字符过滤
可以执行
#include<stdio.h>
#include<string.h>
int main()
{
void qu(char *c1,char c2);
int n,i,a,b;
char str[10000],s[10000];
gets(str);
gets(s);
a=strlen(str);
b=strlen(s);
for(i=0;i<b;i++)
qu(str,s[i]);
puts(str);
return 0;
}
void qu(char *c1,char c2)
{
int i,a,b,s=0;
char c[10000];
a=strlen(c1);
for(i=0;i<a;i++)
if(c2!=c1[i])
{
c[s]=c1[i];
s++;
}
c[s]='\0';
for(i=0;i<=s;i++)
c1[i]=c[i];
}
Ⅳ PHP字符串过滤
可以用正则实现抄。给定字符串的规律是3冒号1分号中,前两个冒号之前是数字,需要的是第三个冒号与分号之前的部分。可如下处理:
<?php
$string = "6939376:28407:包装方式:包装;5392114:75367881:重量(g):500;20000:7343430:品牌:蒙园;";
preg_match_all("/[^:\d]+:[^;]+;/", $string, $out);
$rst = implode("", $out[0]);
echo $rst;
?>
$rst为"包装方式:包装;重量(g):500;品牌:蒙园;"。已经测试是可行的(php5),如有问题欢迎继续交流
Ⅳ 过滤字符串 输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("请输入一串字符");
Stringstr=sc.nextLine();
StringstrFilter=filter(str);
System.out.println("过滤后:"+strFilter+" 字母个数:"+strFilter.length());
sc.close();
}
privatestaticStringfilter(Stringstr){
StringBuffersb=newStringBuffer("");
for(inti=0;i<str.length();i++){
charc=str.charAt(i);
if((c>=65&&c<=90)||(c>=97&&c<=122))
sb.append(c);
}
returnnewString(sb);
}
}
Ⅵ 怎么样字符串过滤
用正则吧,把<>之间的内容过滤掉,或者只取中文并且不是“宋体”
看见你给我发的信息了,我一点刷新就没了,你重加一下吧,
复杂点的正则:
<script>
function removeTags(html){
// Remove all SPAN tags
html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
// Remove all p tags
html = html.replace(/<\/?P[^>]*>/gi, "" );
// Remove all <br> tags
html = html.replace(/<\/?BR[^>]*>/gi, "" );
// Remove Class attributes
html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// Remove Style attributes
html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
// Remove Lang attributes
html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// Remove XML elements and declarations
html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
// Remove Tags with XML namespace declarations: <o:p></o:p>
html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
// Replace the
html = html.replace(/ /, " " );
return html;
}
</script>
下面有个简单写法,但有时过滤会出现问题,但你这个应该没没
replace(/<\/?[^>]*>/gi, "" );
Ⅶ SQL字符串过滤 检测是否有危险字符
|SQL字符串过滤函数:
public static bool ProcessSqlStr(string Str)
{
bool ReturnValue = true;
try
{
if (Str.Trim() != "")
{
string SqlStr = "exec|+|select+|delete|update|count|chr|mid|master+|truncate|char|declare|drop+|drop+table|creat+|create|*|iframe|script|";
SqlStr += "exec+|insert|delete+|update+|count(|count+|chr+|+mid(|+mid+|+master+|truncate+|char+|+char(|declare+|drop+table|creat+table";
string[] anySqlStr = SqlStr.Split('|');
foreach (string ss in anySqlStr)
{
if (Str.ToLower().IndexOf(ss) >= 0)
{
ReturnValue = false;
break;
}
}
}
}
catch
{
ReturnValue = false;
}
return ReturnValue;
}
以下是检测SQL语句中是否包含有非法危险的字符
/// <summary>
/// 检测是否有Sql危险字符
/// </summary>
/// <param name="str">要判断字符串</param>
/// <returns>判断结果</returns>
public static bool IsSafeSqlString(string str)
{
return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
}
/// <summary>
/// 改正sql语句中的转义字符
/// </summary>
public static string mashSQL(string str)
{
string str2;
if (str == null)
{
str2 = "";
}
else
{
str = str.Replace("\'", "'");
str2 = str;
}
return str2;
}
Ⅷ java 字符串过滤
packagetest;
importjava.util.HashMap;
/**
*maxLength-需要过滤最长字符串的长度
*filterStrs<string,string>-需要过滤字符串的集合,key为需要过滤字符串,value为过滤成的字符串如"*"
*@authorAdministrator
*
*/
publicclassTest{
privateintmaxLength;
privateHashMap<String,String>filterStrs=newHashMap<String,String>();
/**
*初始化需要过滤掉*的数量
*/
privateStringinitStr(intn){
StringBuffersb=newStringBuffer();
for(inti=0;i<n;i++){
sb.append('*');
}
returnsb.toString();
}
/**
*str-被过滤得字符串
*s-需要过滤得字符串
*获得剩下未过滤的字符串
*/
privateStringgetNextStr(Stringstr,intstart,intslength){
if(start==0){
str=str.substring(slength);
}elseif(start+slength<str.length()){
str=str.substring(start+slength);
}
returnstr;
}
/**
*str-被过滤得字符串
*s-需要过滤得字符串
*获得过滤后的字符串
*/
(StringBuffersb,Stringstr,intstart,Strings){
if(start!=0){
sb.append(str.substring(0,start));
}
sb.append(filterStrs.get(s));
returnsb;
}
/**
*str-被过滤的字符串
*过滤,并组合过滤后的字符串
*/
publicStringfilter(Stringstr){
StringBufferresultStr=newStringBuffer();
for(intstart=0;start<str.length();start++){
for(intend=start+1;end<=str.length()&&end<=start+maxLength;end++){
Strings=str.substring(start,end);
intslength=s.length();
if(filterStrs.containsKey(s)){
resultStr=getFilterStr(resultStr,str,start,s);
str=getNextStr(str,start,slength);
start=0;
end=start;
}
}
}
resultStr.append(str);
returnresultStr.toString();
}
publicvoidput(Stringkey){
intkeyLength=key.length();
filterStrs.put(key,initStr(keyLength));
if(keyLength>this.maxLength)
maxLength=keyLength;
}
publicstaticvoidmain(String[]agrs){
Testt=newTest();
t.put("TMD");
t.put("TNND");
t.put("NND");
System.out.println(t.filter("TMD,TNND..TMDTMDTMDTMD.tTNNDTMDTNNDTNNDTNND"));
}
}
Ⅸ c 字符串过滤行
先把文本的内容逐行读取,利用字符串匹配函数查找该行是否有"file",无则输出到out.txt文件,有则忽略不计
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
boolHasfile(char*str)
{
if(strlen(str)<=4)
returnfalse;
for(inti=0;i<=strlen(str)-4;++i)
{
if(strncmp("file",str+i,4)==0)
returntrue;
}
returnfalse;
}
intmain()
{
chartxtname[50]={'