问题列表 - 第10098页

在使用nonce的电子邮件中激活/注册/密码重置链接的最佳做法是什么

应用程序发送电子邮件以验证用户帐户或重置密码.我相信以下是应该的方式,我要求参考和实现.

如果应用程序必须在电子邮件中发送链接以验证用户的地址,根据我的观点,链接和应用程序对链接的处理应具有以下特征:

  1. 该链接在请求URI()中包含一个noncehttp://host/path?nonce.
  2. 在链接(GET)之后,向用户呈现表单,可选地具有随机数.
  3. 用户确认输入(POST).
  4. 服务器接收请求和
    • 检查输入参数,
    • 执行更改,
    • 并使nonce无效.

根据安全和幂等方法的HTTP RFC,这应该是正确的.

问题是这个过程涉及一个额外的页面或用户操作(第3项),这被很多人认为是多余的(如果不是无用的).我在向同行和客户介绍这种方法时遇到了问题,因此我要求更广泛的技术小组提供相关信息.我跳过POST步骤的唯一论点是可能从浏览器预加载链接.

  • 是否有关于这个主题的参考资料可以更好地解释这个想法并说服一个非技术人员(来自期刊,博客......的最佳实践)?
  • 是否有实施此方法的参考站点(最好是受欢迎且有许多用户)?
    • 如果没有,是否有记录原因或等效替代方案?

谢谢你,
Kariem


细节幸免

我保持主要部分简短,但为了减少关于我故意遗漏的细节的太多讨论,我将添加一些假设:

  • 电子邮件的内容不是此讨论的一部分.用户知道她必须单击链接才能执行操作.如果用户没有反应,则不会发生任何事情,这也是已知的.
  • 我们不必说明我们邮寄用户的原因,也没有说明通信政策.我们假设用户希望收到电子邮件.
  • nonce具有到期时间戳,并且与收件人电子邮件地址直接关联以减少重复.

笔记

使用OpenID等,普通的Web应用程序可以免于实施标准的用户帐户管理(密码,电子邮件......),但仍有一些客户需要" 他们自己的用户 "

奇怪的是,我还没有找到令人满意的问题,也没有回答.到目前为止我发现了什么:

security authentication http idempotent

58
推荐指数
2
解决办法
3万
查看次数

Objective-C括号中的内容是什么?

在此示例方法/消息中:

-(void) setNumerator:(int) n {
    numerator = n;
}
Run Code Online (Sandbox Code Playgroud)

(int)是什么意思?它看起来不像是一个int ...

objective-c

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

如何在函数调用中跳过可选参数?

好的,我完全忘记了如何在PHP中跳过参数.

让我们说:

function getData($name, $limit = '50', $page = '1') {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我如何调用此函数以使middle参数采用默认值(即'50')?

getData('some name', '', '23');
Run Code Online (Sandbox Code Playgroud)

以上是否正确?我似乎无法让这个工作.

php parameters function default-value optional-parameters

85
推荐指数
6
解决办法
5万
查看次数

如何在网上商店保留订购商品的副本?

人们在网上商店买东西.

我接受他们的命令并将它们保存到数据库中.对于每个订购的商品,我需要数量和有关商品的信息.至少,我需要保存每个项目的当前价格和名称,但我更愿意保存所有内容.

这里有一个问题...... 在购买时保留每个订购商品的所有信息的最佳方法是什么?

  1. 复制到与产品表具有相同列的单独表中
  2. 在同一个表中制作产品副本,标记为不可编辑,不可查看的副本
  3. 写入模式上的某种副本可以节省一些空间,直到实际更改"实时"产品信息?
  4. ????

为简单起见,我们假设所有产品信息都保存在一个表中.

database-design e-commerce

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

使用FFMpeg获取视频的中间帧?

我想知道如何使用FFMpeg来拍摄视频的中间帧.我已经编写了C#以在某个时间抓取一个帧(即在第二个3时拉一帧).但我还没弄明白如何使用FFMpeg命令找到视频的中间部分.

video ffmpeg

9
推荐指数
2
解决办法
8250
查看次数

这段代码有什么作用?(2)

我不明白=>部分.

foreach ($_POST[‘tasks’] as $task_id => $v) {
Run Code Online (Sandbox Code Playgroud)

它在foreach循环中做了什么?

php foreach

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

算法分析问题

注意:我是算法分析的新手,所以不要把我的任何肯定视​​为绝对的事实,我说的任何事情(或所有事情)都可能是错误的.

嗨,我正在阅读关于算法分析和"Big-O-Notation"的内容,我对某些事情感到困惑.

假设要求您打印char数组的所有排列,对于[a,b,c],它们将是ab,ac,ba,bc,ca和cb.


那么一种方法就是(在Java中):

for(int i = 0; i < arr.length; i++)
    for(int q = 0; q < arr.length; q++)
        if(i != q)
            System.out.println(arr[i] + " " + arr[q]);
Run Code Online (Sandbox Code Playgroud)

如果我是正确的,该算法的符号为O(n 2).


我想其他做法:

for(int i = 0; i < arr.length; i++)
    for(int q = i+1; q < arr.length; q++)
    {
        System.out.println(arr[i] + " " + arr[q]);
        System.out.println(arr[q] + " " + arr[i]);
    }
Run Code Online (Sandbox Code Playgroud)

现在这个算法的速度是原来的两倍,但除非我错了,对于大O符号,它也是一个O(2)


它是否正确?可能不是这样我会改写:我哪里错了?

algorithm big-o

4
推荐指数
1
解决办法
1570
查看次数

如何在.NET中复制文件夹和所有子文件夹和文件?

可能重复:
在C#中复制目录的全部内容的最佳方法

我想在.NET中将包含其所有子文件夹和文件的文件夹从一个位置复制到另一个位置.最好的方法是什么?

我在System.IO.File类上看到了Copy方法,但是想知道是否有一种比抓取目录树更简单,更好或更快的方法.

.net directory copy file

29
推荐指数
2
解决办法
3万
查看次数

如何迭代在C++中充满字符串的std :: map

我有以下问题涉及迭代使用定义的字符串的关联数组std::map.

-- snip --
class something 
{
//...
   private:
      std::map<std::string, std::string> table;
//...
}
Run Code Online (Sandbox Code Playgroud)

在构造函数中,我使用与字符串数据相关联的字符串键对填充表.在其他地方我有一个方法toString返回一个字符串对象,该对象包含表对象中包含的所有键和相关数据(如key =数据格式).

std::string something::toString() 
{
        std::map<std::string, std::string>::iterator iter;
        std::string* strToReturn = new std::string("");

        for (iter = table.begin(); iter != table.end(); iter++) {
           strToReturn->append(iter->first());
           strToReturn->append('=');
           strToRetunr->append(iter->second());
           //....
        }
       //...
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,我收到以下错误:

error: "error: no match for call to ‘(std::basic_string<char,
    std::char_traits<char>, std::allocator<char> >) ()’".
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释失踪的是什么,我做错了什么?hash_map在用户必须定义​​散列函数以便能够hash_mapstd::string对象一起使用的情况下,我才发现有关类似问题的一些讨论.在我的情况下也可能是类似的东西?

c++ dictionary iterator stdmap std

62
推荐指数
2
解决办法
14万
查看次数

C数组可以在元素之间包含填充吗?

我听说有传言说,在C中,包含在结构中的数组可能在数组的元素之间添加了填充.显然,填充量不能在任何元素对之间变化,或者使用简单的指针算法计算数组中的下一个元素是不可能的.

这个谣言还指出,结构中没有包含的阵列保证不包含填充物.我知道至少那部分是真的.

因此,在代码中,谣言是:

{
    // Given this:
    struct { int values[20]; } foo;
    int values[20];

    // This may be true:
    sizeof(values) != sizeof(foo.values);
}
Run Code Online (Sandbox Code Playgroud)

我非常肯定sizeof(values)会永远相等sizeof(foo.values).但是,我无法在C标准(特别是C99)中找到明确证实或否认这一点的任何内容.

有谁知道这个谣言是否在任何C标准中得到解决?

编辑:我知道在数组foo.values的结尾和结构的结尾之间可能存在填充foo,并且标准声明在开始foo和开始之间不存在填充foo.values.但是,是否有人引用引用标准,其中表示元素之间没有填充foo.values

c arrays padding

25
推荐指数
2
解决办法
8857
查看次数