Tag: 安全

将密码作为环境variables(而不是纯文本)存储在configuration文件中是否安全?

我在rails,django(以及一些php)上工作了几个应用程序,其中一些我在其中开始做的事情之一就是在某些configuration文件中将数据库和其他密码存储为环境variables而不是纯文本或在settings.py,为Django的应用程序)。 在与我的一位合作者讨论这个问题时,他认为这是一个不好的做法 – 或许这看起来并不像最初那样完全安全。 所以,我想知道 – 这是一个安全的做法? 将密码作为纯文本存储在这些文件中是否更安全(当然,确保不要将这些文件保存在公共仓库或任何其他文件中)?

如何在angularjs应用程序中实现安全(!)身份validation系统?

我是新的与angularjs … 我阅读了文档,并完成了教程。 我也尝试了别的东西,事情开始对我有意义。 现在我想知道如何做一个安全的身份validation系统 。 简单的部分:没有代码,我将描述操作我的代码执行: 我有一个经典的forms:用户名和密码文本input。 用户填写表单,然后按ENTER键。 一个Ajax请求开始,响应是一个JSON告诉我像“好我知道你”或“我不知道你是谁”的东西。 我现在需要的是在应用程序的不同视图之间维护访问者的logging状态(或未logging)。 我在互联网上看到,为了实现这个目标,有人设置了一个variables($ scope.isLogged = true),其他人使用了cookie; 但JavaScriptvariables和cookie可以使用萤火虫或类似的开发工具轻松编辑。 最后是问题: 那么, 你有没有build议在angularjs应用程序中实现安全的身份validation系统?

在数据库中encryption/散列纯文本密码

我已经inheritance了一个Web应用程序,我刚刚发现在SQL Server数据库中以纯文本格式存储了超过300,000个用户名/密码。 我意识到这是一个非常糟糕的事情。 知道我必须更新login和密码更新过程来进行encryption/解密,并且对系统其余部分的影响最小,那么作为从数据库中除去纯文本密码的最佳方式,您会推荐什么? 任何帮助表示赞赏。 编辑:对不起,如果我不清楚,我的意思是问什么是你的程序encryption/散列的密码,而不是具体的encryption/散列方法。 我应该只是: 备份数据库 更新login/更新密码 在几小时之后,通过用户表中的所有logging散列密码并replace每个logging testing以确保用户仍然可以login/更新密码 我想我的关注更多来自绝对数量的用户,所以我想确保我正确地做到了这一点。

有什么理由不使用OpenID?

你可以看到一些(在Geek社区里)关于OpenID的。 这似乎是一个好主意。 我正在开发一个网站,将针对一个不那么怪异的观众(但不是太妈妈和stream行音乐),所以我不知道OpenID是否会对一些观众“太难”。 你怎么看? 除此之外,还有没有其他技术或非技术原因不使用OpenID?

使用CORS Origin头与CSRF令牌的CSRF保护

这个问题只关于防止跨站点请求伪造攻击。 具体来说就是:通过Origin头部(CORS)的保护和通过CSRF令牌的保护一样好吗? 例: Alice使用浏览器login(使用cookie)“ https://example.com ”。 我假设她使用现代浏览器。 Alice访问“ https://evil.com ”,evil.com的客户端代码对“ https://example.com ”(传统的CSRF场景)执行某种请求。 所以: 如果我们不检查Origin头(服务器端),并且没有CSRF令牌,那么我们有一个CSRF安全漏洞。 如果我们检查一个CSRF令牌,我们是安全的(但有点乏味)。 如果我们检查Origin头文件,那么来自evil.com的客户端代码的请求应该被阻塞,就像使用CSRF令牌时一样 – 除非可以以某种方式为evil.com的代码设置Origin头部。 我知道,如果我们相信W3C规范在所有现代浏览器中都能正确实现,那么XHR就不可能实现这一点(参见例如跨源资源共享的安全性 ),至less不能。 但是其他types的请求呢 – 比如表单提交? 加载脚本/ img / …标签? 或者页面可以用来(合法地)创build请求的其他方式? 或者,也许一些知名的JS黑客? 注:我不是在说 本地应用程序 操纵浏览器, 跨网站脚本错误在example.com的页面, …

保护Android应用程序敏感数据的最佳方法?

是的,这是一个相当普遍的问题,但我试图感受最好的方式来处理一个应用程序接触到基地/一个Web服务器,分发敏感的数据到应用程序。 任何链接,一般信息咨询等..将不胜感激。 由于应用程序会存储一段时间内从数据库中获取的持久数据,所有事情都变得有些棘手。

保护API:SSL和HTTP基本身份validation与签名

在为我们的Web应用程序devise一个API时,我们将使用他们的子域作为“用户名”并生成一个API密钥/共享密钥。 首先,可以使用子域名作为用户名吗? 我看不到产生另一个密钥的好处。 不同的API似乎做了以下两件事之一: 使用SSL进行HTTP基本authentication 在每个请求中,用户名被设置为子密码和API密码的密码。 由于我们使用SSL,所以这应该是安全的欺骗。 值得注意的API: Google Checkout , Freshbooks , GitHub , Zendesk 使用共享密钥创build请求的签名 通常通过对密钥/值对进行sorting并使用HMAC-SHA1和共享密钥来生成签名。 签名随后与请求一起发送,并在另一端进行validation。 值得注意的API: Google Checkout , Amazon AWS PS:这是没有错,Google Checkout支持 编辑:只要阅读,OAuth 2正在放弃签名,赞成通过SSL发送用户名/密码。 任何人的意见,select什么:SSL与签名?

高质量,简单的随机密码生成器

我有兴趣创build一个非常简单,高(密码)质量的随机密码生成器。 有一个更好的方法吗? import os, random, string length = 13 chars = string.ascii_letters + string.digits + '!@#$%^&*()' random.seed = (os.urandom(1024)) print ''.join(random.choice(chars) for i in range(length))

build模权限系统

你将如何build模一个系统来处理在应用程序中执行特定操作的权限?

如何阻止100,000+个人IP地址

介绍 如何从您的Web应用程序/服务器阻止大量的IP address 。 很明显,可以用PHP或任何编程语言轻松完成 $ipList = []; // array list or from database if (in_array(getIP(), $ipList)) { // Log IP & Access information header("https://www.google.com.ng/search?q=fool"); // redirect exit(); // exit } 或使用htaccess order allow,deny deny from 123.45.6.7 deny from 012.34.5. # …. the list continues allow from all 问题 我试图阻止整个100k plus individual IPs而不是subnets 我试图避免用户在阻止这样的IP之前进入PHP 100000+超过1.5MB,如果信息一直以htaccess加载的话,这是很多的 […]