我有一个textarea ,我想支持一些最简单的发布数据格式(至less,空格和换行符)。 我怎样才能做到这一点? 如果我不能逃避回应,并保留一些HTML标签,那么这将是一个很大的安全漏洞。 但我没有看到任何其他的解决scheme,将允许在浏览器中的文本格式。 所以,我可能应该过滤用户的input。 但是我怎么能这样做? 有没有准备好使用的解决scheme? 我正在使用JSF所以是否有任何智能组件,除了HTML标签过滤一切?
我见过一些关于在网页上访问客户机上的文件的post,也就是这个问题 。 我正在尝试跳上“我不断更新云计算”的范例,这样我的用户就可以通过访问网页来访问最新的版本。 这要求程序/网页可以以一个目录开始,recursion地检查其中的文件,并根据find的结果计算结果。 最后还应该能够将结果文件写入客户端的文件系统。 在上一个问题中的答案之一提到了Google Gears,但是现在已经停止了HTML5。 是否可以在HTML5中访问客户端目录? 怎么样? 我知道为什么通过任何网页访问本地文件是一个安全风险,但为了我的目的,我没有问题,要求用户适当的权限。
我正在将一个网站切换到导轨。 这是一个相当大的网站,拥有5万多用户。 问题是,现有的密码哈希方法是非常薄弱的。 我有两个select: 1)切换到一个新的algorithm,为每个人生成随机密码,然后通过电子邮件发送这些密码,并要求立即更改 2)实现新algorithm,但使用之前的旧algorithm,然后散列结果。 例如: 密码:abcdef =algorithm1 => xj31ndn =algorithm2 => $ 21aafadsada214 任何新的密码都需要经过原始algorithm(md5),然后得到散列的结果,如果这是有道理的? 这有什么不利吗?
新的ASP.net Identity项目为网站安全带来了一些有用的代码和界面。 要使用接口实现自定义系统(而不是使用包含在MVC 5模板中的标准entity framework实现),需要IPasswordHasher 。 IPasswordHasher身份的IPasswordHasher接口 namespace Microsoft.AspNet.Identity { public interface IPasswordHasher { string HashPassword(string password); PasswordVerificationResult VerifyHashedPassword(string hashedPassword, string providedPassword); } } 是否有可能使用密码salting更安全的encryption在ASP.net身份和通过这个接口?
我正尝试使用jQuery的ajax方法在不同的域上创buildWeb服务。 在做了一些研究之后,看起来它不允许这是通过devise来防止跨站点脚本。 我遇到了一个围绕这一行的工作: $.support.cors = true; 在我的JavaScript代码的顶部。 据我所知,这使得在jQuery跨站点脚本。 有这样的代码行使我的网站更容易受到攻击? 我一直听说XSS是一个安全问题,XSS有合法用途吗?
POST是否足够安全地发送login凭据? 或者是一个必须的SSL连接?
我已经阅读了大量与这个问题有关的文档,但是我仍然无法把所有的东西放在一起,所以我想问几个问题。 首先,我将简要地描述一下我所了解的authentication程序,因为我可能会在这方面弄错:客户端启动一个连接,服务器通过公钥,元数据和数字签名的组合来响应可信的权威。 然后,如果客户信任服务器,客户端会做出决定,使用公钥对一些随机会话密钥进行encryption并将其发回。 此会话密钥只能使用存储在服务器上的私钥解密。 服务器执行此操作,然后HTTPS会话开始。 所以,如果我上面说得对,问题是在这种情况下中间人攻击会如何发生? 我的意思是,即使有人用公共密钥拦截了服务器(例如www.server.com)的响应,并且有一些手段让我认为他是www.server.com,但他仍然无法解密我的会话密钥没有私钥。 说到相互身份validation,关于服务器对客户身份的信心是否全部? 我的意思是,客户端已经可以确定她正在与正确的服务器进行通信,但现在服务器想要知道客户是谁,对吗? 最后一个问题是关于相互authentication的替代scheme。 如果我在所描述的情况下充当客户端,那么在SSL会话build立之后,如果我在HTTP头中发送了一个login名/密码呢? 正如我所看到的,这些信息不能被拦截,因为连接已经安全,服务器可以依靠它来进行识别。 我错了吗? 与相互authentication相比,这种方法有什么缺点(只有安全问题是重要的,而不是实现的复杂性)?
安全服务API似乎不允许我直接计算散列。 有很多公共领域和宽松许可的版本可用,但我宁愿使用系统库实现,如果可能的话。 数据可以通过NSData或普通指针访问。 散列的encryption强度对我很重要。 SHA-256是最小可接受的散列大小。
我想validation对域控制器的一组凭据。 例如: Username: STACKOVERFLOW\joel Password: splotchy 方法1.用模拟查询Active Directory 很多人build议查询Active Directory的东西。 如果抛出exception,那么你知道凭据是无效的 – 正如在这个stackoverflow问题中所build议的。 然而,这种方法有一些严重的缺陷 : 您不仅要validation域帐户,还要进行隐式授权检查。 也就是说,您正在使用模拟令牌从AD读取属性。 如果否则有效的帐户没有权利从AD读取? 默认情况下,所有用户都具有读取访问权限,但可以将域策略设置为禁用受限帐户(和/或组)的访问权限。 针对AD的绑定具有严重开销,AD架构caching必须在客户端(DirectoryServices使用的ADSI提供程序中的ADSIcaching)中加载。 这既是networking,也是AD服务器,资源消耗大,而且对于像validation用户帐户这样的简单操作来说太昂贵了。 对于非例外情况,您依赖exception失败,并假设这意味着无效的用户名和密码。 其他问题(如networking故障,AD连接故障,内存分配错误等)则被误解为authentication失败。 方法2. LogonUser Win32 API 其他人build议使用LogonUser() API函数。 这听起来不错,但不幸的是,主叫用户有时需要一个通常只给予操作系统本身的权限: 调用LogonUser的进程需要SE_TCB_NAME特权。 如果调用进程没有此权限,LogonUser将失败,并且GetLastError返回ERROR_PRIVILEGE_NOT_HELD。 在某些情况下,调用LogonUser的进程也必须启用SE_CHANGE_NOTIFY_NAME权限; 否则,LogonUser失败,GetLastError返回ERROR_ACCESS_DENIED。 作为pipe理员组成员的本地系统帐户或帐户不需要此权限。 默认情况下,所有用户都启用了SE_CHANGE_NOTIFY_NAME,但是一些pipe理员可能会禁用所有用户。 正如微软在一篇知识库文章中指出的那样,将“ 行为作为操作系统的一部分 ”特权发出是不是你想做的事情: …正在调用LogonUser的进程必须具有SE_TCB_NAME特权(在用户pipe理器中,这是“ 作为操作系统的一部分 ”)。 SE_TCB_NAME特权非常强大, 不应该被授予任何任意用户,以便他们可以运行需要validation凭据的应用程序 。 此外,如果指定空密码,则对LogonUser()的调用将失败。 什么是validation一组域证书的正确方法? 我碰巧从托pipe代码调用,但这是一个一般的Windows问题。 可以假定客户安装了.NET Framework 2.0。
什么是种子随机数发生器的最安全的熵源? 这个问题是独立于语言和平台的,适用于networking上的任何机器。 理想情况下,我正在寻找在托pipe公司提供的云环境或服务器中的机器可用的来源。 要牢记两个重要的弱点。 使用时间发送随机数字发生器违反了CWE-337 。 使用小的种子空间将违反CWE-339 。