草庐IT

安全$应用安全

全部标签

go - 在 Go 网络应用程序中加载 key 的最佳实践是什么?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭5年前。Improvethisquestion我通常担心内存损坏,因为将我的公钥和私钥留在内存中以供在我的整个应用程序中访问。我是Go的新手,我想知道使这些key可用的最佳做法是什么。Go是否足够安全,我应该能够将这些存储在内存中,没问题。还是我应该只将我的公钥保存在内存中以供验证并在每次需要签署token时加载我的私钥?

multithreading - 基于 Go 的 http 包构建的 Web 应用程序是否作为使用多个线程处理传入请求的单个进程工作?

我读到Go应用程序使用内置Web服务器直接从客户端接收连接,而不是在Apache等Web服务器后面运行。此外,我还阅读了网络服务器(例如Apache)使用由fork()创建的多个进程处理传入请求的信息。对于Go应用程序也是如此,还是它在单个进程上运行并通过多个线程处理传入请求? 最佳答案 Go应用程序通常使用net/http包来实现Web服务器。documentationforthatpackage说:ServeacceptsincomingHTTPconnectionsonthelistenerl,creatinganewserv

go - 将一个 map 分配给另一个 map 在 golang 中是安全的吗?

代码如下:m:=make(map[interface{}]interface{})//readfori:=0;i有10000个readgoroutine访问m,另外10000个writegoroutine给m分配一个新的map,安全吗? 最佳答案 您有goroutines读取m变量,以及goroutines在没有显式同步的情况下写入m变量。这是一场数据竞赛,因此是未定义的行为。在启用竞争检测器的情况下运行它:$gorun-raceplay.go==================WARNING:DATARACEWriteat0x00

string - 为什么简单的 Go 应用程序占用大量内存

这是一个非常简单的应用程序:packagemainimport"fmt"funcmain(){fori:=0;i在windows上运行应用程序后,查看windows任务管理器我看到了这个状态:有人能说说为什么吗? 最佳答案 启动的goroutines并发运行,彼此独立。处理它们是goroutine调度程序的责任和义务。goroutine是一个轻量级线程:它的成本比操作系统线程低很多,但仍然有一些成本。新goroutine的初始堆栈是几KB(大约8KB),并根据需要增长/收缩。参见Goroutines8kbandwindowsOSth

go - 方法在结构副本上的应用反射(reflect)在原始结构中

这个问题在这里已经有了答案:Conciselydeepcopyaslice?(3个答案)关闭4年前。我一直在通过构建一个小型线性代数库来尝试使用Go中的方法,但是我遇到了以下代码段的问题:packagemainimport("fmt")typeMatrixstruct{mat[]float64nR,nCint}func(mMatrix)String()string{...}//EmptyMatrixinitializesanR*nCmatrixto0funcEmptyMatrix(nR,nCint)Matrix{...}//BuildMatrixcreatesamatrixbuildb

go - 从指针并发读取是否安全?

我正在开发一个图片uploader,并希望同时将图片调整为不同的大小。一旦我将文件作为[]byte读取,我就会将该缓冲区的引用传递给正在同时运行的调整大小函数。这样安全吗?我在想通过传递一个大文件的引用来由调整大小函数读取会节省我的内存,并发会节省我的时间。谢谢! 最佳答案 只读数据通常适合并发访问,但在传递引用(指针、slice、映射等)时必须非常小心。今天,当您还在阅读时,也许没有人在修改它们,但明天可能有人会。如果这是一次性脚本,您会没事的。但如果它是更大程序的一部分,我建议通过明智地保护并发访问来使您的代码面向future。

go - 如何将函数应用于 Golang 中的整数输入

例如,如果输入是这个1345全部由空格分隔,我想应用对每个数字进行平方然后相加的功能。我只是不知道如何将函数应用于每个数字。我所能想到的是,我必须将数字放入一个slice中,然后将该函数应用于每个数字。我到处都看过,但找不到如何执行此操作。在Python中,我只是这样做,并且我已经将值放入名为“n”的列表中。#Thelistispastedfromtheinitialpuzzlen=[10,10,9,8,10,10,10]#Thelistisfirstsquaredb=(list(map(lambdax:x**2,n)))b成为对每个数字执行函数的新列表。

html - 如果点击了外部 URL,我们可以重新定向到我们的应用程序吗

我正在使用go-gin及其html模板渲染引擎,但这个问题是通用的。我的应用程序在https://localhost:8080/login处有一个登录页面.我在我的应用程序中使用第三方url,它将我重定向到另一个url。(例如:https://example.com)。如果https://example.com被命中,我如何强制重定向到https://localhost:8080/login? 最佳答案 外部URL(从您的服务器外部链接到站点)不能重定向到本地主机。您必须使用您的服务器IP而不是https://localhost:8

go - 在 Go 应用程序中实现 SOLID Design

在不遇到循环依赖的情况下对模型(用户)和数据库建模的最佳方法是什么?我有一个要设置的Go应用程序。导入的结构令人困惑,因为它似乎并没有清楚地按照关注点分离进行划分。我想要一个数据库存储,需要访问模型名称才能迁移它们。让模型自行迁移似乎很奇怪,而且这似乎与模型无关。同时,我想对需要导入数据库存储的每个模型进行验证。让商店验证单个模型似乎更奇怪。然而,这会产生循环依赖。结构:models-user.goconfig-store.gostore.go...//CreateDb-createstablefunc(i*Store)CreateDb(){...i.DB.AutoMigrate(&m

go - 运行应用程序 hyperledger fabric 时出错

我正在学习本教程:https://github.com/ITPeople-Blockchain/auction并在步骤中:“构建对等和排序器二进制文件并启动排序器”,在命令中:制作原生我收到以下错误:Makefile:71:***"NogoinPATH:Checkdependencies".Arresto.我在VirtualBox上使用Ubuntu,并且正确设置了gopath 最佳答案 GOPATH可能是正确的,但这不是错误所指的-它是说go命令不在您的PATH中。您需要将GOROOT/bin添加到您的PATH。