Tag: 安全

PHP的“安全”降价处理器?

是否有适用于公众意见的markdown的PHP实现? 基本上它应该只允许markdown语法的一个子集(粗体,斜体,链接,块引用,代码块和列表),并且去掉所有内联HTML(或者可能转义它)? 我想一个select是使用正常的降价parsing器,并通过HTML sanitiser运行输出,但有没有更好的办法做到这一点..? 我们在网站的其他部分使用PHP markdown Extra,所以我们必须使用辅助parsing器(非“额外”版本,因为像脚注支持是不必要的)。它也似乎更好的parsing*bold*文本并将所有内容都转义为&lt;a href="etc"&gt; ,而不是生成<b>bold</b>文本,并试图剥离我们不想要的位。 另外,在一个相关的说明中,我们使用WMD控制的“主”网站,但对于评论,还有什么其他的select? 大规模杀伤性武器的JavaScript预览是好的,但它需要与PHP降价处理器相同的“绝望”(它不能显示图像等,否则有人会提交,他们的工作降价会“打破”) 目前我的计划是使用PHP-markdown – > HTML santiser方法,并编辑WMD以从showdown.js删除图像/标题语法 – 但似乎这已经做了无数次。 基本上: PHP中是否存在“安全”markdown实现? 有一个HTML / JavaScript的降价编辑器,可以轻松禁用相同的选项? 更新:我最后只是通过HTML Purifier运行markdown()输出。 这样,Markdown渲染与输出消毒是分开的,它更加简单(两个大部分是未经修改的代码库)更安全(你不是一次尝试渲染和消毒),而且更灵活(可以有多个消毒级别,可信内容configuration比较宽松,公众意见要严格得多)

WCF错误:调用者没有通过服务进行身份validation

我试图从我的客户端控制台应用程序访问我的WCF服务进行testing。 我收到以下错误: 调用者未被服务authentication 我正在使用wsHttpBinding 。 我不确定服务期待什么样的身份validation? <behaviors> <serviceBehaviors> <behavior name="MyTrakerService.MyTrakerServiceBehavior"> <!– To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment –> <serviceMetadata httpGetEnabled="true"/> <!– To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to […]

我怎样才能免费检查网站的安全?

我听说有一些免费的应用程序将检查PHP网站的漏洞,但我不知道要使用什么。 我想要一个免费的程序(最好有一个GUI)的Windows将分析我的网站给我一个报告。 任何人都知道解决scheme?

密码哈希值,盐值和哈希值的存储

假设您可以自由决定如何将密码散列存储在DBMS中。 这样的计划有明显的弱点吗? 要创build存储在DBMS中的散列值,请执行: 作为salt的一部分,DBMS服务器实例唯一的值, 而用户名作为盐的第二部分, 并创build盐与实际密码的连接, 并使用SHA-256algorithm对整个string进行散列, 并将结果存储在DBMS中。 这意味着任何想要碰撞的人都应该分别为每个用户名和每个DBMS服务器实例单独完成工作。 我打算保持实际的哈希机制有点灵活,以允许使用新的NIST标准哈希algorithm( SHA-3 ),仍然在工作。 “DBMS服务器实例独有的价值”不一定是秘密 – 尽pipe它不会随便泄露。 其目的是确保如果某人在不同的DBMS服务器实例中使用相同的密码,则logging的散列值将会不同。 同样,用户名也不是秘密 – 只是密码本身。 密码第一,用户名和“唯一值”第二,或三个数据源的其他排列是否有优势? 或者交叉string呢? 我是否需要添加(并logging)随机salt值(每个密码)以及上面的信息? (优点:用户可以重新使用密码,而且可能会在数据库中logging不同的哈希。缺点:必须logging盐,我认为这样做的好处远远大于缺点。 有相当多的相关SO问题 – 这个列表不太可能是全面的: 在数据库中encryption/散列纯文本密码 为PHP密码提供安全的哈希和盐 为了散列而隐藏盐的必要性 客户端MD5哈希与时间盐 简单的密码encryption 盐生成和开源软件 密码哈希值:固定长度的二进制字段还是单个string字段? 我认为这些问题的答案支持我的algorithm(尽pipe如果你只是使用随机盐,那么'每个服务器的唯一值'和用户名组件就不那么重要了。

CSRF攻击是否适用于API?

特别是,我正在编写一个Django RESTful API来支持iOS应用程序,并且每当我编写处理POST请求的方法时,我都会继续运行在Django的CSRF保护中。 我的理解是,由iOSpipe理的cookie不会被应用程序共享,这意味着我的会话cookie是安全的,没有其他应用程序可以骑在它们上面。 这是真的? 如果是这样,我可以将我所有的API函数都标记为CSRF-exempt吗?

用no:id列创build一个ActiveRecord数据库表?

是否有可能创build和使用ActiveRecord,Ruby on Rails中包含no :id列的数据库表 。 我不只是想忽略id列 ,但我希望它是绝对不存在的。 Table Example :key_column :value_column 0cc175b9c0f1b6a831c399e269772661 0cc175b9c0f1b6a831c399e269772661 4a8a08f09d37b73795649038408b5f33 0d61f8370cad1d412f80b84d143e1257 92eb5ffee6ae2fec3ad71c777531578f 9d5ed678fe57bcca610140957afab571 任何更多的信息(如:id_column)将打破整个function。 我将如何在轨道中实现这样的东西?

如何从VBA项目中删除密码?

如何以编程方式从Excel VBA项目中删除(已知)密码? 要清楚:我想从VBA项目中删除密码,而不是工作簿或任何工作表。

我如何确保在Java中销毁String对象?

我公司的Empoyee需要通过我编写的程序来修改SQL Server数据库中的数据。 该程序首先使用Windows身份validation,并要求数据库pipe理员给这个特定的用户写入访问数据库。 他们不愿意这样做,而是给我的 Windows用户帐户写入访问权限。 由于我相信这个人,但是还不足以让他在我的会话打开90分钟的情况下工作,我只需在我的程序中添加一个login提示,询问用户名和密码组合,然后使用它login到SQL Server。 我会login,并相信我的应用程序,让他只做他需要的东西。 但是,这会带来很小的安全风险。 Sun Oracle站点上的密码字段教程指出密码应该保持在内存中所需的最less时间,为此, getPassword方法返回一个char[]数组,您可以在完成该操作后将其置零。 但是,Java的DriverManager类只接受String对象作为密码,所以一旦完成,我将无法处理密码。 而且,由于我的应用程序在分配和内存要求方面相当低,谁知道在内存中能够存活多久呢? 如上所述,该计划将运行相当长的时间。 当然,我无法控制SQL Server JDBC类用我的密码做什么,但是我希望我能控制我的密码。 有没有一种可靠的方法来销毁/清零Java的String对象? 我知道两者都是反对语言的(对象销毁是非确定性的,而且String对象是不可变的), System.gc()也是不可预知的,但仍然是这样。 任何想法?

当用户不在授权angular色中时,如何提供未经授权的页面?

我正在使用这样的Authorize属性: [Authorize (Roles="Admin, User")] Public ActionResult Index(int id) { // blah } 当用户不在指定的angular色,我得到一个错误页面(资源未find)。 所以我也把HandleError属性。 [Authorize (Roles="Admin, User"), HandleError] Public ActionResult Index(int id) { // blah } 现在进入login页面,如果用户不在指定的angular色。 当用户不符合要求的angular色之一时,我如何才能将其转到未经授权的页面而不是login页面? 如果发生不同的错误,我怎么区分这个错误和未经授权的错误,并以不同的方式处理?

病毒如何在图像中存在?

我最近看了一个芬兰互联网安全专家的video。 在第十一分钟左右的时候,他谈到了隐藏在图像中的病毒,并在图像即将显示时执行。 我想知道他们在技术上如何做这样的事情,我的意思是如何执行 病毒 ,什么时候显示图片以及如何使图片不会以某种方式受到损害。 我以为计算机先看扩展名,然后用适当的程序打开它,让程序自行运行(而且我不希望普通的图像查看器能够在自己的内部运行病毒)。 很明显,这不是那样的工作,但没有人问我可以帮助我。 那么,有谁知道他们是如何做到这一点的原则? 非常感谢你。