小编Mat*_*ern的帖子

标准浮点数的0到1之间有多少个唯一值?

我想另一种表达这个问题的方法是你可以使用float只有0到1之间的小数位数吗?

我试着通过查看MSDN来解决这个问题.其中精度为7位数.我认为这意味着它只能追踪变化0.0000001.

但是,如果我这样做:

float test = 0.00000000000000000000000000000000000000000001f;
Console.WriteLine(test);
Run Code Online (Sandbox Code Playgroud)

它写出来了 9.949219E-44

如果我再添加零,它将输出0.

我很确定我在这里遗漏了一些东西,因为这种准确度似乎非常错误.主要是浮动的大小为32位,在该精度级别仅为0-1,包含1e + 44个可能的数字......

c# floating-point ieee-754

29
推荐指数
4
解决办法
4569
查看次数

为什么/如何`value ="javascript:alert(1)"`被认为是OWASP的ZAP工具中的XSS漏洞?

OWASP的ZAP的结果对于消除我网站的易受攻击的部分非常有用.

但是,我发现了很多我无法修复的结果.例如,它已将一个get参数放入javascript:alert(1);变量中.然后,PHP在隐藏元素的value属性中输出此变量.所以最终的HTML看起来像:

<input type="hidden" name="someName" id="someID" value="javascript:alert(1);"/>
Run Code Online (Sandbox Code Playgroud)

此值通常用于使用JavaScript填充下拉列表.如果它为1则显示可选搜索过滤器,如果为0则不显示任何内容.所以它只用于失败的字符串比较.

我认为没有办法利用它,警报不像ZAP向我展示的其他攻击那样运行.输出被编码,因此它们不能通过"/>像先前发现的攻击那样提前结束引号或元素来注入HTML ,因为这些字符成为它们的HTML实体对应物.

这只是ZAP匹配页面源中输入字符串的误报,因为编码javascript:alert(1);仍然等于完全相同javascript:alert(1);吗?

javascript php xss owasp

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

通过具有相同基类的对象列表循环并提取某个类?

例如,我有一个基类Entity,然后是两个派生自此的子类,LightEntityPlayerEntity.

然后List<Entity> Entities,我有一个持有LightEntitys和PlayerEntitys.

我希望得到所有LightEntity从s Entities.

我试过了:

List<LightEntity> lights = new List<LightEntity>();
foreach (Entity ent in Entities)
{
    if(ent is LightEntity)
    {
        lights.Add(ent);
    }
}
Run Code Online (Sandbox Code Playgroud)

但它并不喜欢这样,因为编译器似乎仍然认为它可能会尝试仅添加Entity一个列表LightEntity.

我试图转向ent,LightEntity但编译器说它没有将Entitya 转换为a的方法LightEntity.

c# inheritance class object

6
推荐指数
2
解决办法
1590
查看次数

避免意外的双htmlspecialchars编码?

我正在加强我的网站上的安全性,我正在努力确保从PHP传递到HTML的每个值都被正确编码.

目前,为模板分配值将对其进行编码,但网站的某些部分是旧的并且不使用模板.

我改变了我用来输出HTML来编码所有值的函数的工作方式.这适用于覆盖所有旧页面,但现在它会导致模板值的双重编码.

我改变了我用来做的编码功能:

$textToEncode = htmlspecialchars_decode($szText);
return htmlspecialchars($textToEncode, ENT_COMPAT, 'ISO-8859-1');
Run Code Online (Sandbox Code Playgroud)

这可以从我所看到的情况发挥作用.通过首先对其进行解码,它将始终确保它不会进行双重编码,并且我无法想到解码未编码字符串会导致问题的任何原因.这是一个好的解决方案吗?

html php encoding

6
推荐指数
2
解决办法
3720
查看次数

内存使用两次存储相同的列表,按不同的标准排序?

这是一个理论上的例子,但希望它突出了我的问题:

假设我有一个主Item对象列表,并且Item有两个属性,比如说WeightValue.

该程序将经常被要求排序Weight并获得最轻的,Item而在其他地方它被分类Value并获得最昂贵的Item.

主列表有可能非常大,因此一遍又一遍地对主列表进行排序将是很多不合理的工作.为了节省时间,可以将排序后的结果存储为自己的列表吗?这些其他列表是否只存储指向真实对象的指针,而不仅仅是再次存储它们?

c# list

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

我知道填充和边距之间的区别,但什么时候应该使用每个?

这个链接(以及我检查过的所有其他'保证金与填充'问题),同时提出同样的问题似乎只说明了两者之间的区别.它说,"当你想要外面的空间时,使用边距.当你想要空间内部使用填充".

这很公平但是如果你看看这个快速的jsFiddle示例,我已经使用了各种CSS来获得完全相同的效果.

这个问题是主观的,可能会被关闭但是我浪费了很多时间来决定,"我应该在填充元素上添加填充...或内部元素本身的边距."

如果你扩展这些div有多个段落,那么如果你想拥有一致的边框/背景,第三个例子很快就会失败.在<p>标签上使用Margin的那个似乎看起来更好,因为它自动分隔段落.

是否有一个简单的思考过程/一组问题我可以问自己在设计我的网站时得出结论?

html css

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

标签 统计

c# ×3

html ×2

php ×2

class ×1

css ×1

encoding ×1

floating-point ×1

ieee-754 ×1

inheritance ×1

javascript ×1

list ×1

object ×1

owasp ×1

xss ×1