小编Jon*_*rst的帖子

JSLint的目的是"在正则表达式中禁止不安全"选项

我有一行代码在通过JSLint运行时收到以下错误:

Lint at line 604 character 48: Insecure '^'.
numExp = parseInt(val[1].replace(/[^\-+\d]/g, ""), 10);
Run Code Online (Sandbox Code Playgroud)

此错误似乎从JSLint的选项页面引用以下描述:

"true if . and [^...]  should not be allowed in RegExp literals.
These forms should not be used when validating in secure applications."
Run Code Online (Sandbox Code Playgroud)

我不太明白客户端javascript应用程序如何真正被认为是安全的.即使使用最密集的正则表达式,仍然可以启动像firebug这样的东西,无论如何都要改变变量.真正的输入验证应该在服务器上完成,客户端浏览器应该坚持使用可以处理普通用户滥用的验证.

忽略此错误是否安全?我在这里错过了一个角度,因为客户端输入验证,我的应用程序将不安全吗?

javascript regex security jslint

33
推荐指数
2
解决办法
6438
查看次数

为什么Google的TrueTime API很难复制?

我不确定为什么媒体普遍表示谷歌的TrueTime API难以复制(有线,Slashdot等).

我可以理解如何获得谷歌实现的低错误间隔是一件困难的事情,但我不知道API本身将如何变得非常困难.

例如,我掀起了一个黑客攻击版本.这是间隔.

    typedef struct TT_interval {
            struct timeval earliest;
            struct timeval latest;
    } TT_interval;
Run Code Online (Sandbox Code Playgroud)

这是现在的功能.

    int TT_now(TT_interval* interval)
    {
        struct ntptimeval tv;
        struct timeval delta;

        struct timeval* earliest_p = &(interval->earliest);
        struct timeval* latest_p = &(interval->latest);
        struct timeval* now_p = &(tv.time);
        struct timeval* delta_p = δ

        timerclear(&delta);
        timerclear(&interval->earliest);
        timerclear(&interval->latest);

        if(ntp_gettime(&tv) == 0) {
            tv.maxerror = tv.maxerror > 0 ? tv.maxerror : -(tv.maxerror);

            delta.tv_sec = delta.tv_sec + (tv.maxerror / 1000);
            delta.tv_usec = delta.tv_usec + ((tv.maxerror % 1000) * 1000);

            if(delta.tv_usec …
Run Code Online (Sandbox Code Playgroud)

c time distributed-computing google-cloud-platform google-cloud-spanner

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

“尴尬平行”短语的由来

出于维基百科历史的目的,任何人都熟悉“令人尴尬的平行”一词的起源。我一直认为它可能是由一位最初从事 Map-Reduce 工作的 Google 员工随机创造的。有谁有关于起源的具体信息吗?

parallel-processing mapreduce

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