小编Pum*_*ath的帖子

如何从快速验证器 escape() 函数中排除字符

我正在使用来自express-validator的检查来验证用户输入,并且想知道是否可以从测试中排除字符?我有

check("profile.about").trim().escape()
Run Code Online (Sandbox Code Playgroud)

它将 HTML 中使用的任何字符转换为其等效的 HTML 实体,但如果用户输入撇号,则会导致不良结果。有没有办法从escape()方法中过滤掉撇号?如果没有,没有人对我如何模仿escape()并放弃'. 谢谢

javascript validation node.js express

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

使用 Express API 和 React 前端防止 CSRF

在过去的几天里,我一直在阅读有关 CSRF 的内容,感觉我已经很好地掌握了它是什么以及如何预防它。我正在构建一个小型 Express/React 应用程序,它将有一个用于更新应用程序内容的安全管理区域,并且我希望它能够免受 CSRF 的影响。

据我所知,服务器生成 CSRF 令牌然后将其与请求的视图(页面)一起发送到客户端(然后可以将令牌隐藏在 HTML 表单输入标记中)是很常见的。但是,我的 Express API 不提供 HTML 服务,它是一个仅返回 JSON 数据的 REST API。UI 是用 React 构建的,运行在与服务器不同的端口上。

我的问题是;在哪里安全地存储服务器上生成的令牌?

例如,如果我通过点击“/api/login”以管理员身份登录,生成令牌,并在 API 响应中将其发送回客户端,那么我现在应该如何处理它?

最初的计划是使用 Redux 来存储 token,但是阅读这篇文章Is Redux secure? ,这听起来并不理想。

我考虑过使用 React 环境变量,但也了解到这些变量在构建中公开。

显然 localStorage 也是一个坏主意......

我真的很难使用我正在实现的工具(即 Express/React)找到这个问题的解决方案

任何帮助、链接、建议、批评将不胜感激,我想学习构建考虑到安全性的应用程序

javascript csrf express reactjs

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

如何在Chrome自动完成功能上删除蓝色背景

我正在制作一个表单,希望每个输入都具有透明性,但是当我在Chrome中使用自动完成功能,然后使用Tab键进入下一个字段时,上一个字段会变成浅蓝色背景。

我试过使用:

input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
    transition: background-color 5000s ease-in-out 0s;
}  
Run Code Online (Sandbox Code Playgroud)

但这不起作用。我不希望白色背景在单击另一个输入时将其保持透明,并且将设置colortransparent也不起作用。

如何做到这一点?

css google-chrome autocomplete background-color

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

如何在 Scala 中使用正则表达式匹配

我开始学习 Scala 并想使用正则表达式来匹配字符串中的字符,以便我可以填充字符及其值(字符串值、数字等)的可变映射,然后打印结果。

我已经查看了关于 SO 的几个答案并浏览了 Scala Docs,但似乎无法正确理解。我有一个简短的 Lexer 类,目前看起来像这样:

class Lexer {

    private val tokens: mutable.Map[String, Any] = collection.mutable.Map()

    private def checkCharacter(char: Character): Unit = {
        val Operator = "[-+*/^%=()]".r
        val Digit = "[\\d]".r
        val Other = "[^\\d][^-+*/^%=()]".r
        char.toString match {
            case Operator(c) => tokens(c) = "Operator"
            case Digit(c) => tokens(c) = Integer.parseInt(c)
            case Other(c) => tokens(c) = "Other" // Temp value, write function for this
        }
    }

    def lex(input: String): Unit = {
        val inputArray = input.toArray
        for …
Run Code Online (Sandbox Code Playgroud)

regex scala matching

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

球拍语法完全混淆了-请伸出援助之手

我被要求为大学学习一些球拍,最终将不得不用树结构和数据集做一些相当复杂的事情。我才刚刚开始,即使使用Racket docs,google和SO,也无法理解此代码的工作方式。

我正在尝试编写一个带有三个数字参数并返回最大数的函数,这就是我所拥有的:

(define (mymax x1 x2 x3)
    (cond
        ((and (x1 > x2) (x1 > x3)) x1)
        (else (and (x2 > x1) (x2 > x3)) x2)
        (else (and (x3 > x1) (x3 > x2)) x3)
))
(print (mymax 10 5 1))
Run Code Online (Sandbox Code Playgroud)

所以...

  • 我不知道我是否正确使用和比较
  • 我在以下地方收到错误“ cond:错误的语法('else'子句必须是最后一个):(else(和(x2> x1)(x2> x3))x2)”
  • 我真的不知道如何从函数返回值

很抱歉,如此无知,但这只是没有道理,对这些要点的任何帮助都将是一个巨大的帮助

functional-programming boolean function racket

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