还有提交FCKEDITER里面的内容的时候有必要把把大于小于号替换为<和&gl吗?
或者其他的安全问题,或者技巧
请教一二
6 个解决方案
#1
防止脚本提交
回复内容太短了!
回复内容太短了!
#2
替换fckeditor中HTML元素
#3
/*----------------------------------------------------------------------------------------------
转换HTML非法字符,用于输出显示时
---------------------------------------------------------------------------------------------*/
// function HTMLEncode(fString)
// {
// var HTMLEncode = "";
// if (fString != "" || fString != null)
// {
// fString=fString.replace(/\[/g,"[");
// fString=fString.replace(/\]/g,"]");
// fString=fString.replace(/\'/g,"''''");
// fString=fString.replace(/\+/g,"+");
// fString=fString.replace(/\</g,"<");
// fString=fString.replace(/\>/g,">");
// fString=fString.replace(/\%/g,"[%]");
// fString=fString.replace(/\&/g,"&");
// fString=fString.replace(/\_/g,"[_]");
// fString=fString.replace(/\\/g,"¥");
// fString = fString.replace( ">", ">");
// fString = fString.replace( "<", "<");
// fString = fString.replace("\"", """); //双引号
// fString = fString.replace("\'", "'"); //单引号
//// fString = fString.replace( chr(32)&chr(32), " "); //空格
//// fString = fString.replace(/(^\s*)|(\s*$)/g, "")
//// fString = fString.replace(/^[\s ]+|[\s ]+$/g,""); //替换全角空格
//// fString = fString.replace(/ /g,""); //替换半角空格
//// fString = fString.replace( chr(9), " "); //tab键值
//// fString = fString.replace( chr(10), "<br>"); //换行
//// fString = fString.replace( chr(13), ""); //回车
// fString = fString.replace(/\r\n/ig,"<br/>");
// HTMLEncode = fString;
// }
// return HTMLEncode;
// }
/*
******************************************************************************************
* 半角<=>全角 *
******************************************************************************************
* 参数说明:
* str:要转换的字符串
* flag:标记,为0时半转全,为非0时全转半
* 返回值类型:字符串
****************************
*/
function DBC2SBC(str,flag)
{
var i;
var result='';
if (str.length<=0)
{
return result;
}
for(i=0;i<str.length;i++)
{
str1=str.charCodeAt(i);
if (!flag)
{
if((str1 < 48 || str1 > 57 && str1 < 65 || str1 > 90 && str1 < 97 || str1 > 122 && str1 < 125) && str1 != 32)
{
result+=String.fromCharCode(str.charCodeAt(i)+65248);
}
else
{
result += String.fromCharCode(str.charCodeAt(i)+0)
}
}
else
{
result+=String.fromCharCode(str.charCodeAt(i)-65248);
}
}
return result;
}
#4
这样在把页面上的元素提交到数据库时,都最好应用我上面的方法。以免显示时脚本出错
#5
请教各位····················怎么防止HTML标记出错
#6
高人指点一下啊
实用编辑器还需要转换 HTML 标记吗
实用编辑器还需要转换 HTML 标记吗
#1
防止脚本提交
回复内容太短了!
回复内容太短了!
#2
替换fckeditor中HTML元素
#3
/*----------------------------------------------------------------------------------------------
转换HTML非法字符,用于输出显示时
---------------------------------------------------------------------------------------------*/
// function HTMLEncode(fString)
// {
// var HTMLEncode = "";
// if (fString != "" || fString != null)
// {
// fString=fString.replace(/\[/g,"[");
// fString=fString.replace(/\]/g,"]");
// fString=fString.replace(/\'/g,"''''");
// fString=fString.replace(/\+/g,"+");
// fString=fString.replace(/\</g,"<");
// fString=fString.replace(/\>/g,">");
// fString=fString.replace(/\%/g,"[%]");
// fString=fString.replace(/\&/g,"&");
// fString=fString.replace(/\_/g,"[_]");
// fString=fString.replace(/\\/g,"¥");
// fString = fString.replace( ">", ">");
// fString = fString.replace( "<", "<");
// fString = fString.replace("\"", """); //双引号
// fString = fString.replace("\'", "'"); //单引号
//// fString = fString.replace( chr(32)&chr(32), " "); //空格
//// fString = fString.replace(/(^\s*)|(\s*$)/g, "")
//// fString = fString.replace(/^[\s ]+|[\s ]+$/g,""); //替换全角空格
//// fString = fString.replace(/ /g,""); //替换半角空格
//// fString = fString.replace( chr(9), " "); //tab键值
//// fString = fString.replace( chr(10), "<br>"); //换行
//// fString = fString.replace( chr(13), ""); //回车
// fString = fString.replace(/\r\n/ig,"<br/>");
// HTMLEncode = fString;
// }
// return HTMLEncode;
// }
/*
******************************************************************************************
* 半角<=>全角 *
******************************************************************************************
* 参数说明:
* str:要转换的字符串
* flag:标记,为0时半转全,为非0时全转半
* 返回值类型:字符串
****************************
*/
function DBC2SBC(str,flag)
{
var i;
var result='';
if (str.length<=0)
{
return result;
}
for(i=0;i<str.length;i++)
{
str1=str.charCodeAt(i);
if (!flag)
{
if((str1 < 48 || str1 > 57 && str1 < 65 || str1 > 90 && str1 < 97 || str1 > 122 && str1 < 125) && str1 != 32)
{
result+=String.fromCharCode(str.charCodeAt(i)+65248);
}
else
{
result += String.fromCharCode(str.charCodeAt(i)+0)
}
}
else
{
result+=String.fromCharCode(str.charCodeAt(i)-65248);
}
}
return result;
}
#4
这样在把页面上的元素提交到数据库时,都最好应用我上面的方法。以免显示时脚本出错
#5
请教各位····················怎么防止HTML标记出错
#6
高人指点一下啊
实用编辑器还需要转换 HTML 标记吗
实用编辑器还需要转换 HTML 标记吗