HTML<textarea>环境转换表示特殊符号的字符序列,例如
>
Run Code Online (Sandbox Code Playgroud)
进入相应的符号:
>
Run Code Online (Sandbox Code Playgroud)
但是,我正在尝试构建一个代码编辑器,它应该以逐字逐字的方式接收用户输入。问题是,如果用户>在编辑器中键入并编译代码,<textarea>则重新加载并在此过程中转换字符。
这是一个 MWE:
<!doctype html>
<html>
<head>
</head>
<body>
<textarea>
‘
’
‚
“
”
„
†
‡
</textarea>
</html>
Run Code Online (Sandbox Code Playgroud)
当页面加载时,textarea 编辑器中的所有内容都会被转换。
转义所有&符号可能是一种选择(如此处建议:如何在 textarea 中显示 <html>),但感觉好像这不是真正正确的做法。(难道我不需要考虑更多的特殊情况,例如 HTML 标签等吗??)
是否有“推荐”的方式在 HTML 中实现代码编辑器?
我试过CodeMirror,但问题仍然存在。
我有一些 java 代码可以将包含尖括号的文本写入数据库;该文本显示在网页上。
与其将我的java代码改成充满实体代码,我想知道我是否可以保留像“ <test>”这样的常量并使用标准库函数来生成基于实体的字符串“ <test>”?
我正在通过命令行参数从用户String进入Java程序。
问题是我应该执行哪种检查以防止可能的攻击和漏洞?
我不是安全领域的专家,但据我所知
目前,我无法考虑使用任何String正则表达式进行检查的任何特定格式。它可以是任意的,但是如果看起来有害,我想立即退出。该字符串可能会发送到具有网络的Java服务器,在那里可能用于SQL查询。
if (args.length > 0) {
String arg0 = args[0];
if (!isValidString(arg0)){
System.exit(1);
}
}
public boolean isValidString (String str) {
if (str == null) return false;
//TODO: many more checks here
return true;
}
Run Code Online (Sandbox Code Playgroud)
我确信Java比C或早期的PHP安全得多,但是我应该注意些什么呢?
我有一位教授要求我们删除HTML标签(<和>中的任何内容),而不使用removeAll方法.
我目前有这个:
public static void main(String[] args)
throws FileNotFoundException {
Scanner input = new Scanner(new File("src/HTML_1.txt"));
while (input.hasNext())
{
String html = input.next();
System.out.println(stripHtmlTags(html));
}
}
static String stripHtmlTags(String html)
{
int i;
String[] str = html.split("");
String s = "";
boolean tag = false;
for (i = html.indexOf("<"); i < html.indexOf(">"); i++)
{
tag = true;
}
if (!tag)
{
for (i = 0; i < str.length; i++)
{
s += str[i];
}
}
return s;
}
Run Code Online (Sandbox Code Playgroud)
这是文件内部的内容:
<html> …Run Code Online (Sandbox Code Playgroud)