小编Swi*_*ger的帖子

在VueJS中渲染换行符

我正在创建一个便笺应用程序,用户可以通过在textarea中输入多行文本来添加便笺.当我在Firebase中保存笔记时,它将使用我想要显示的换行符(\n)保存.

因此,我写了一个过滤器来替换这些字符<br />并且效果很好.
虽然,现在我需要使用渲染我的数据{{{note.content}}},用户可以注入将要执行的HTML,CSS和JS.
我应该使用类似DOMPurify的内容来验证内容,还是有办法安全地呈现换行符?

javascript vue.js

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

如何使用vue-router注册全局组件

我正在使用Vue.js和vue-cli.我选择了webpack设置.我连接了main.js文件进行路由,但我找不到全局注册组件的方法.

main.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import App from './App'
import Companies from './components/pages/Companies'
import Income from './components/pages/Income'
import Login from './components/pages/Login'

Vue.use(VueRouter)

let router = new VueRouter()

router.map({
  '/companies': {
    component: Companies
  },
  '/income': {
    component: Income
  },
  'login': {
    component: Login
  }
})

router.start(App, 'body')
Run Code Online (Sandbox Code Playgroud)

App.vue

<template>
  <div>
    <router-view></router-view>
  </div>
</template>
<script>
import {Auth} from './lib/api'
import Loader from './components/Loader'

export default {
  components: {
    Loader
  },
  ready () {
    Auth.isLoggedIn().then(
      (response) => { …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-router

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

防伪标记是可重复使用的

我们使用ASP.NET MVC的默认Antiforgery技术.最近,一家安全公司对表单进行了扫描,并注意到他们可以_RequestVerificationToken多次使用相同的组合(cookie +隐藏字段).或者他们如何表达:"正文中的CSRF令牌在服务器端验证,但在使用后即使服务器生成新的CSRF令牌也不会被撤销."

在阅读了关于Antiforgery实现的文档和多篇文章之后,我的理解是,只要会话用户匹配令牌中的用户,这确实是可能的.

他们的部分推荐:"这样的令牌至少应该是每个用户会话的唯一性" 在我的理解中已经是这种情况,除了匿名用户,对吗?

我的问题:这是一个安全问题吗?这有多大的风险?是否有一个库确保令牌不可重复使用/无效.

如果没有,包括会话中的额外随机令牌将在每个请求上重置,听起来就像解决问题一样.

c# asp.net asp.net-mvc csrf antiforgerytoken

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

密钥保险库返回401,带有访问令牌(MSI PowerShell功能应用程序)

我正在尝试使用PowerShell使用我的Azure功能连接到Keyvault.托管服务标识(MSI)已打开,在Keyvault中,我授予了MSI"获取"和"列表"访问策略.使用下面的脚本我成功获得了访问令牌,但是当我向Keyvault发出请求时,我总是收到401响应.

$vaultName = $Env:KeyVaultName
$vaultSecretName = $Env:VaultSecretName

$tokenAuthURI = $Env:MSI_ENDPOINT + "?resource=https://vault.azure.net/&api-version=2017-09-01"
$tokenResponse = Invoke-RestMethod -Method Get -Headers @{"Secret"="$env:MSI_SECRET"} -Uri $tokenAuthURI
$accessToken = $tokenResponse.access_token

$headers = @{ 'Authorization' = "Bearer $accessToken" }
$queryUrl = "https://$vaultName.vault.azure.net/keys/" +$vaultSecretName + "?api-version=2016-10-01"

$keyResponse = Invoke-RestMethod -Method GET -Uri $queryUrl -Headers $headers
Run Code Online (Sandbox Code Playgroud)

知道为什么令牌不够吗?

powershell azure azure-keyvault azure-functions

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

Laravel模型默认值的相对时间now()+ 24h

我在Laravel中有一个模型,我想将默认值设置为从现在起24小时的时间。

这就是我当前创建表的方式。

Schema::create('contact_credits', function (Blueprint $table) {
        $table->increments('id');
        $table->unsignedInteger('amount')->default(0);
        $table->unsignedInteger('amount_used')->default(0);
        $table->unsignedInteger('company_id');
        $table->foreign('company_id')->references('id')->on('companies');
        $table->dateTime('expires_at');//default value now + 24h
        $table->timestamps();
    });
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

...->default(\DB::raw('DATE_ADD(NOW(), INTERVAL 24 HOUR)'));
Run Code Online (Sandbox Code Playgroud)

但是在尝试迁移时,我总是收到错误消息。我该如何工作?

php mysql laravel eloquent

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

相对于变换后元素的绝对位置

我重新创建了模板中遇到的问题。有一个导航position: relative;。内部资产净值有一个DIV嵌套两个列表。
名单之一是绝对要坚持导航的位置。当div对其应用了转换时,就会发生此问题。
当绝对位置和相对位置的元素之间的div获得了transform属性时,绝对列表相对于div而不是nav进行定位

MDN文档声明以下有关位置的信息:绝对

不要为元素留出空间。而是将其放置在相对于其最接近的祖先的指定位置(如果有),或者相对于其包含的块。绝对定位的框可以有边距,并且不会与其他任何边距一起折叠。

这是否意味着变换后的元素是定位元素?为什么这样做呢?我在Edge,FF和Chrome中进行了测试。他们的行为都一样。

您可以在下面运行重新创建的代码段。我正在将鼠标悬停在div上的div上应用转换。

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html, body{
  min-height: 100%;
  height: 100%;
}
nav{
  background: #000;
  height: 100%;
  width: 50%;
  position: relative;
}
nav:hover > div{
      transform: translateX(50px) translateY(0) translateZ(0);
}
a{
  color: #fff;
}
ul{
  padding: 16px;
}
ul.main{
  background: blue;
}

ul.lower{
  position: absolute;
  background: red;
  bottom: 0;
  width: 100%; …
Run Code Online (Sandbox Code Playgroud)

css transform css-position css3 css-transforms

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

AiHandleErrorAttribute与。Application Insights提供的内置自动添加的动作筛选器

我刚刚将Application Insights安装到我的ASP.NET MVC应用程序中。它实际上是Umbraco网站,注册稍有不同,但结果应该相同。

安装该软件包时,它为我添加了一些代码,以全局注册一个名为“ AiHandleErrorAttribute”的新异常操作过滤器。

我正在使用事件处理程序以Umbraco方式注册它:

public class RegisterAIEventHandler : ApplicationEventHandler
{
    protected override void ApplicationInitialized(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
    {
        base.ApplicationInitialized(umbracoApplication, applicationContext);
        GlobalFilters.Filters.Add(new ErrorHandler.AiHandleErrorAttribute());
    }
}
Run Code Online (Sandbox Code Playgroud)

这是动作过滤器代码:

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)] 
public class AiHandleErrorAttribute : HandleErrorAttribute
{
    public override void OnException(ExceptionContext filterContext)
    {
        if (filterContext != null && filterContext.HttpContext != null && filterContext.Exception != null)
        {
            //If customError is Off, then AI HTTPModule will report the exception
            if (filterContext.HttpContext.IsCustomErrorEnabled)
            {   
                var ai = new TelemetryClient(); …
Run Code Online (Sandbox Code Playgroud)

.net asp.net asp.net-mvc umbraco azure-application-insights

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