在我的网站(使用drupal运行)中,该ob_flush函数需要很长时间(在10到100秒之间)才能执行.我如何找出原因?什么能导致这么长时间?

为每个会话在表单上使用令牌的 CSRF 预防方法是一种流行的方法。但是,如果file_get_contentsPHP 可以获取跨域文件表单的内容,我不明白这种令牌方式如何保护--> 它可以获取表单上的令牌并使用它。
那么这种令牌方式是如何工作的呢?
我正在尝试使用asp和c#开发.是否有.Net支持实施RSA SecurID身份验证?
我很难绕着大O符号进行配对操作.问题非常简单 - 为数组中给定的数字列表生成所有可能的对.
我的第一个猜测是有一个嵌套的for/foreach循环并生成对.这很容易,我得到的每一个,我分析其他数字,这给了我一个复杂的n ^ 2.
现在,如果我尝试进一步优化它并说(1,4)与(4,1)相同,那么对于像1,2,3,4,5那样的排序数组.我只以这种方式在嵌套for循环中运行配对操作
for (i =0; i < count; i++) {
for (j = i + 1; j < count - 1; j++)
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我只运行数组<n ^ 2次.对于7个数字的样本大小,我遍历循环21次以生成对.我知道这不能是一个log-n操作,我很想说这个操作会收敛到n ^ 2,但我不记得我的数学或理论课程中的确定答案.我该如何解决这个问题?
上下文:我接受了一个类似问题的采访,这是出于我与朋友的争论,如果列表中的配对操作总是优于n ^ 2.
我正在使用Doctrine 2.
我想获取实体类的所有实体,除了id = 0的实体.
我可以像这样使用QueryBuilder:
// $em is EntityManager
$em->createQueryBuilder()
->select('c')
->from('Category', 'c')
->where('c.id <> 0')
->getQuery()
->getResult();
Run Code Online (Sandbox Code Playgroud)
但是看看这段代码,对于这么简单的任务感觉太过分了.我很想知道Doctrine中是否还有其他更简单的方法可以做到这一点.