小编Ant*_*rto的帖子

内核熵池如何工作?

我正在使用/dev/urandom为我的程序生成随机数据.我知道它/dev/random可以是空的,因为不同的是/dev/urandom,当没有足够的字节生成时它不使用SHA./dev/random使用" 内核熵池 ".显然它依赖于键盘计时,鼠标移动和IDE计时.

但这如何真正起作用?
并且不可能"提供"熵池使/ dev/random输出可预测吗?

linux random entropy

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

在localhost上的多个应用程序之间共享cookie

我的API(localhost:8080)为我的前端发出cookie (localhost:3000).在开发模式下,cookie域设置为"NULL".

我在旁边有另一个小前端(localhost:9000).它将被部署为生产中前端的子域,所以我不应该有问题.

在开发中,我发现没有办法从我的小前端请求API,我没有CORS问题,但我的API抛出401因为小前端没有发送cookie."Send For"属性设置为"Any type of connection".Cookie将在一年后过期.我检查了浏览器设置,在两个端口上cookie都有相同的设置和内容.

小前端,我可以列出document.cookie上的cookie,但尝试使用其中任何一个从cookie中检索任何值

function getCookie(key) {
   var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
   return keyValue ? keyValue[2] : null;
}
getCookie('sid');
Run Code Online (Sandbox Code Playgroud)

要么

$.cookie('sid');
Run Code Online (Sandbox Code Playgroud)

不行.

将cookie域设置为NULL不起作用.将cookie域设置为localhost也不起作用,并且chrome不支持它.(见这个)FF支持它,但我有同样的问题

我试图将cookie域设置为".app.localhost",然后在/ etc/hosts中设置

127.0.0.1:8080 api.app.localhost
127.0.0.1:9000 app.app.localhost
127.0.0.1:3000 front.app.localhost
Run Code Online (Sandbox Code Playgroud)

但我无法访问我的应用程序.我想我在这里错过了一些大事.

编辑:

关于/ etc/hosts文件

经过一番挖掘后,我发现无法在ips上指定端口

但是,您可以这样设置:

127.0.0.1 api.app.localhost:8080
127.0.0.1 app.app.localhost:3000
127.0.0.1 app2.app.localhost:9000
Run Code Online (Sandbox Code Playgroud)

我可以访问并登录我的app.app.localhost:3000并将cookie设置为.app.localhost,当我转到app.app.localhost:9000我可以看到有一个cookie包含我的sessionId设置.app.localhost作为域和 …

cookies node.js

5
推荐指数
0
解决办法
705
查看次数

理论:getter/setter 函数还是全局变量?C

我目前正在编写一个 C LIBRABY,我需要在其中使用静态 void*。

在我的第一个版本中,我将所有需要访问 void* 的函数放在声明它的同一个 C 文件中,如下所示:

主文件

int main()
{
  function_using_list();
}
Run Code Online (Sandbox Code Playgroud)

foo.c:

void *list=NULL;

void *function_using_list()
{
  //stuff with list
}
Run Code Online (Sandbox Code Playgroud)

在我的第二个版本中,我做了一个 get/set 函数,这样我就可以从代码中的任何地方通过它访问我的列表:

foo.c

void   *getset_list(void nlist, int action)
{
   static void  *list = NULL;

   if (action == 1)
     return (list)
   else
     list = nlist;
}
Run Code Online (Sandbox Code Playgroud)

这两种不同设计的优缺点是什么?第二个是线程安全的吗?

PS:我刚刚意识到我在问题中忘记了一些内容:此代码旨在用作库。

c global

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

这个malloc应该不起作用

这是我的代码.

 int     main()
  {
  char *s;
  int i = 0;

  printf("%lu \n", sizeof(s));

  s = malloc(sizeof(char) * 2);

  printf("%lu \n", sizeof(s));
  /*Why is this working?*/
  while (i <= 5)
    {
      s[i] = 'l';
      i++;
    }
  printf("%s \n", s);

  printf("%lu \n", sizeof(char));

  printf("%lu \n", sizeof(s[0]));
  }
Run Code Online (Sandbox Code Playgroud)

在我看来,这应该是段错误,因为我试图写的比我分配的更多.这为什么有效?

c malloc

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

标签 统计

c ×2

cookies ×1

entropy ×1

global ×1

linux ×1

malloc ×1

node.js ×1

random ×1