小编Isa*_*man的帖子

Math.random 返回 0 的可能性有多大?

就像这个问题的提问者一样,我想知道为什么Math.ceil(Math.random() * 10)不优先于Math.floor(Math.random() * 10) + 1,并发现这是因为 Math.random 有一个很小(但相关)的机会准确返回 0。但有多小?

进一步的研究告诉我,这个随机数精确到小数点后 16 位......好吧,有点。这就是我很好奇的“那种”。

我知道浮点数与小数的工作方式不同。虽然我在细节上挣扎。如果这个数字是一个严格的十进制值,我相信台球的可能性是十分之一(或十千万亿,在美国系统中) - 1:10 16

这是正确的,还是我搞砸了,或者浮点数有什么不同?

javascript random floating-point

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

避免 MS Access 中的 SQL 注入

我试图更好地理解参数化 sql 作为 SQL 注入的解决方案。

可以说我有一个tblCustomer字段CustName,PhoneAddress。还可以说我有一个供新客户输入数据的输入表单,其中的控件名为txtNametxtPhonetxtAddress

可以运行以下 vba 代码:

dim strName, strPhone strAddress, strSQL as string
strName = me.txtName
strPhone = me.txtPhone
strAddress = me.txtAddress
strSQL = "INSERT INTO tblCustomer (CustName, Phone, Address) _
VALUES (" & strName & ", " & strPhone & ", " & strAddress & ");"

DoCmd.RunSQL strSQL
Run Code Online (Sandbox Code Playgroud)

但是如果有人指定地址“Robert'); DROP TABLE tblCustomer; --”(眨眼)我就会遇到一些严重的问题。

我使用过 vba 参数,但它们对我没有帮助。那么,当人们说使用参数来解决问题时,他们的意思什么?

sql ms-access vba

2
推荐指数
1
解决办法
3837
查看次数

标签 统计

floating-point ×1

javascript ×1

ms-access ×1

random ×1

sql ×1

vba ×1