问题列表 - 第32140页

如何在Java中清理HTML代码以防止XSS攻击?

我正在寻找class/util等来清理HTML代码,即删除危险的标签,属性和值以避免XSS和类似的攻击.

我从富文本编辑器(例如TinyMCE)获取html代码,但它可以通过恶意方式发送,省略TinyMCE验证("异地提交的数据").

在PHP中有什么像InputFilter一样简单易用吗?我能想象的完美解决方案就是这样(假设清理程序封装在HtmlSanitizer类中):

String unsanitized = "...<...>...";           // some potentially 
                                              // dangerous html here on input

HtmlSanitizer sat = new HtmlSanitizer();      // sanitizer util class created

String sanitized = sat.sanitize(unsanitized); // voila - sanitized is safe...
Run Code Online (Sandbox Code Playgroud)

更新 - 更简单的解决方案,越多越好!小的util类对其他库/框架的外部依赖性尽可能小 - 对我来说是最好的.


那个怎么样?

html java xss sanitization

24
推荐指数
4
解决办法
4万
查看次数

移动ctor什么时候被调用?

鉴于课程:

class C
{
public:
    C()
    {
        cout << "Dflt ctor.";
    }
    C(C& obj)
    {
        cout << "Copy ctor.";
    }
    C(C&& obj)
    {
        cout << "Move ctor.";
    }
    C& operator=(C& obj)
    {
        cout << "operator=";
        return obj;
    }
    C& operator=(C&& obj)
    {
        cout << "Move operator=";
        return obj;
    }
};
Run Code Online (Sandbox Code Playgroud)

然后在主要:

int main(int argc, char* argv[])
{
    C c;
    C d = c;
    C e;
    e = c;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

正如您将从输出中看到的那样,复制ctor的"常规"版本operator=被调用但不是那些带有rvalue args的版本.所以我想问一下在什么情况下移动ctor并被operator=(C&&)调用?

c++ constructor c++11

1
推荐指数
1
解决办法
166
查看次数

如何在临时表中插入RESTORE FILELISTONLY/HEADERONLY/VERIFYONLY给出的信息

如何插入命令给出的结果集

RESTORE FILELISTONLY
RESTORE  HEADERONLY
RESTORE VERIFYONLY
Run Code Online (Sandbox Code Playgroud)

进入自动生成的临时表?

我想使用类似的技术(因此表是自动创建的,所有列都匹配结果集的列)

SELECT * INTO #TempTable 
FROM (RESTORE FILELISTONLY FROM DISK = 'c:\Test\Test.bak')
Run Code Online (Sandbox Code Playgroud)

但这不起作用.如果我可以填充TempTable,那么我就可以在下面的SQL语句中使用它中包含的信息(在我的例子中是一个恢复DB语句,我需要使用RESTORE FILELISTONLY给出的结果集中包含的一些字符串)

我正在使用sql server 2008.

sql-server temp-tables database-restore sql-server-2008

6
推荐指数
2
解决办法
8885
查看次数

java split()的问题

我有一个字符串:

strArray= "-------9---------------";
Run Code Online (Sandbox Code Playgroud)

我想从字符串中找到9.字符串可能是这样的:

strArray= "---4-5-5-7-9---------------";
Run Code Online (Sandbox Code Playgroud)

现在我只想找出字符串中的数字.我需要值9,4,或者这样的东西而忽略' - '.我尝试了以下方法:

strArray= strignId.split("-");
Run Code Online (Sandbox Code Playgroud)

但是它会出错,因为有多个' - '并且我没有得到我的输出.那么java应该使用什么功能呢?

我的输入和输出应如下:

input="-------9---------------";
    output="9";
input="---4-5-5-7-9---------------";
    output="45579";
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

java regex

3
推荐指数
2
解决办法
5580
查看次数

如何获取给定表的主键列名?

我所知道的仅仅是表名,和值id上,我想执行的查询,但我不知道什么是所谓的ID在该表中.

sqlite primary-key

5
推荐指数
1
解决办法
7499
查看次数

索引SQL表是否会提高LINQ语句的性能?

道歉可能是一个很愚蠢的问题.

我很感兴趣的是(a)索引会改进性能(b)它将如何提高性能;(c)为什么它会提高性能?

此外,如果这确实提高了性能,那么LINQ to SQL,LINQ to Entities,LINQ to Objects等等是否会出现这种情况.

再说一次,如果这是一个非常愚蠢的问题,我会道歉.

c# sql linq indexing linq-to-sql

6
推荐指数
1
解决办法
3289
查看次数

6
推荐指数
3
解决办法
2231
查看次数

如何使用gnu Make确定--load-average的良好值?

在Make this flag中存在:

-l [load], - load-average [= load]指定如果有其他作业正在运行且负载平均值至少为load(浮点数),则不应启动新作业(命令).如果没有参数,则删除先前的加载限制.

您是否有一个很好的策略来确定负载限制的值?我的机器似乎差别很大.

gcc load gnu-make command-line-arguments

13
推荐指数
2
解决办法
4035
查看次数

Go中的恐慌恢复与其他语言的尝试捕获

我刚读过这篇关于恐慌/恢复的帖子,我不清楚它与其他主流语言中的try/catch有何不同.

error-handling exception go

36
推荐指数
4
解决办法
6530
查看次数

C,C++或Fortran的代码抛光器/重整器

假设您有一堆用C,C++或Fortran编写的文件,由不同的作者编写,对格式化有不同的看法,如何评论,等等.我想很多人都知道这样的情况.

有没有免费的工具,如:

  • 统一的代码格式(缩进等)
  • 创建标准评论机构
  • 重命名变量

c c++ fortran code-formatting

3
推荐指数
1
解决办法
4958
查看次数