小编cod*_*ama的帖子

SQL最后一次插入Drupal.它真的线程安全吗?

我有一个可能连续由多个用户执行的查询.我很害怕,如果我运行db_last_insert_id命令,由于并发性,某些用户可能无法获得最后一个插入ID.但根据:http://api.drupal.org/api/function/db_last_insert_id/6,它说:

返回最后一个插入ID.此功能是线程安全的.

我的问题是,这个线程如何安全?代码只是:

<?php
  function db_last_insert_id($table, $field) {
   return db_result(db_query("SELECT CURRVAL('{". db_escape_table($table) ."}_". db_escape_table($field) ."_seq')"));
  }
?> 
Run Code Online (Sandbox Code Playgroud)

我没有看到任何关于锁定表或什么都没有?

mysql concurrency multithreading drupal

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

尝试使用CURL连接到ASPX站点?

我想尝试登录这个网址:

http://www.kalahari.com/marketplace/default.aspx
Run Code Online (Sandbox Code Playgroud)

提交的两个字段标记为:

ctl00$ctl00$ucMarketPlaceSupportNavigation$txtMPTopSignInEmail
ctl00$ctl00$ucMarketPlaceSupportNavigation$txtMPTopSignInPasswordTextNormal
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试使用的代码:

$username     = 'XXXXXXX';
$password     = 'XXXXXXX';

$loginUrl     = 'http://www.kalahari.com/marketplace/default.aspx';
$cookie  = 'cookies.txt';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $loginUrl );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt($ch, CURLOPT_COOKIEJAR , $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_HEADER, FALSE );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$ret = curl_exec($ch); //access login page

// Collecting all POST fields
$postfields = array();
$postfields['ctl00$ctl00$ucMarketPlaceSupportNavigation$txtMPTopSignInEmail'] = $username;
$postfields['ctl00$ctl00$ucMarketPlaceSupportNavigation$txtMPTopSignInPasswordTextNormal'] = $password;

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
$ret = curl_exec($ch);//Get result after login page. …
Run Code Online (Sandbox Code Playgroud)

php curl login .aspxauth

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

NetBeans中的CTRL-TAB无法正常工作?

目前,如果我有4个选项卡,我按CTRL TAB,它不会从1到2,然后从2到3,依此类推.它按照我最后打开它的顺序在窗口之间跳转.

  1. 有没有办法切换Zend,这样如果按CTRL-TAB,它会从1到2,从2到3,依此类推.
  2. 理想情况下,这是否也允许CTRL-SHIFT-TAB从4变为3,然后变为3到2,依此类推?

netbeans

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

数据库大小计算?

通过以下特征估算数据库大小的最准确方法是什么:

  • MySQL的
  • 1表有三列:
    • id - > big int)
    • field1 - > varchar 32
    • field2 - > char 32
  • field2上有一个索引

您可以假设varchar 32已完全填充(全部32个字符).如果填充每个字段并且存在以下情况,那将会有多大:

  1. 1百万行
  2. 500万行
  3. 10亿行
  4. 五十亿行

我的粗略估计是:id为1个字节,其他两个字段各为32位.粗略地说:

  1 + 32 + 32 = 65 * 1 000 000 = 65 million bytes for 1 million rows
= 62 Megabyte
Run Code Online (Sandbox Code Playgroud)

因此:

  1. 62 Mb
  2. 310 Mb
  3. 310 000 Mb = + - 302Gb
  4. 1 550 000 Mb = 1513 Gb

这是一个准确的估计吗?

mysql

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

空格时PHP复制命令失败?

我正在执行以下命令:

<?php
copy ("http://localhost/.../DSCF8253.JPG" , "sites/default/files/DSCF8253.JPG"); // Success!
copy ("http://localhost/.../DSCF8260.JPG" , "sites/default/files/DSCF8260.JPG"); // Success!
copy ("http://localhost/.../HERMAN 085.jpg" , "sites/default/files/HERMAN 085.jpg" ); // Fail!
?>
Run Code Online (Sandbox Code Playgroud)

前两个复制正常,但不是最后一个.为什么?

它必须与文件名有关(最后一个在085之前有一个空格).

任何帮助将不胜感激!

php copy

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

在会话中存储数据有哪些风险?

我听说过跨站点脚本,人们可以访问cookie和狡猾的方式.所以我希望有人可以回答几个问题.我想以最纯粹的方式存储会话中的内容,但使用像Drupal这样的CMS.假设我们有这个:

$data = $fancyWebService->getSuperSecureDataThatOnlyTheCurrentlyLoggedInUserCanSee();
$_SESSION['basic_variable'] = $data;
Run Code Online (Sandbox Code Playgroud)
  1. 如果用户现在从mysite.com旅行到devious-site.com,是否有人可以从"basic_variable"获取数据,只要知道该变量被称为?
  2. 有没有办法让当前用户可以看到$ _SERVER变量的打印并实际看到存储在其中的所有内容?
  3. 我在某处读到会话或cookie中的数据应该"加密".在上面的示例中,我非常确定数据存储在会话中,并且此会话是安全的.是这种情况,还是仅在启用HTTPS时才安全?
  4. Drupal在cookie中存储了一些信息,如果您选择使用cookie作为"会话",这对上述情况有何影响?

UPDATE

关于问题2.我的意思是,如果我在php文件中键入以下内容:

print '<pre>';
print_r($_SESSION);
die();
Run Code Online (Sandbox Code Playgroud)

(或只是vardump会话变量)...

我最终得到了我存储在那里的所有信息,未加密.我的问题是,用户是否可以通过某种方式找到一种方法来访问会话变量(除了通过我公开它),这会使得保留未加密的值是一个坏主意?

session drupal

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

如何查看我的XAMPP是运行32位还是64位?

我试过进入PHPInfo,但没有任何东西可以告诉我它是64位还是32位.告诉这个最简单的方法是什么?

php xampp

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

如何在Drupal 7中制作i18n支持文件名?

所以我有一个标准文件位于:

/sites/default/files/hello.png
Run Code Online (Sandbox Code Playgroud)

我可以像这样访问它:

http://www.example.com/sites/default/files/hello.png
Run Code Online (Sandbox Code Playgroud)

但是,使用i18n,如果前缀路径也可以用于这些文件,那将是很好的.例如,此链接不起作用:

http://www.example.com/us/sites/default/files/hello.png
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.

所以我的问题是,如何使这些"特定国家"路径也适用于文件?

我想我可能需要在htaccess中做一些事情,然后创建一个过滤和重定向这些路径的模块,但这听起来太费劲了,也许我错过了启用它的简单方法?

internationalization drupal-7

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

如何使用PHP OAuth设置"领域"?

我有以下内容:

$oauth = new OAuth($consumer_key,$consumer_secret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_AUTHORIZATION);
$oauth->setToken($oauth_access_token,$oauth_access_token_secret);
Run Code Online (Sandbox Code Playgroud)

当我执行时:

$h = $oauth->getRequestHeader(OAUTH_HTTP_METHOD_POST, $url);
Run Code Online (Sandbox Code Playgroud)

我得到标题:

OAuth oauth_consumer_key="XXXXXXX",oauth_signature_method="HMAC-SHA1",oauth_nonce="1454566103",oauth_timestamp="1454566103",oauth_version="1.0",oauth_token="XXXXXXX",oauth_signature="XXXXXXXXXX"
Run Code Online (Sandbox Code Playgroud)

问题是,我期待这样:

OAuth realm="1111", oauth_consumer_key="XXXXXXX",oauth_signature_method="HMAC-SHA1",oauth_nonce="1454566103",oauth_timestamp="1454566103",oauth_version="1.0",oauth_token="XXXXXXX",oauth_signature="XXXXXXXXXX"
Run Code Online (Sandbox Code Playgroud)

但是如何添加"领域"部分并不明显.如何添加领域,以便在生成签名时,它会在初始构建字符串中占据领域?

php oauth

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

哪个Facebook SDK与PHP 5.3一起使用?

不幸的是,我已经达到了一个死胡同.由于各种遗留原因和其他原因,我无法将系统升级到PHP 5.4.而根据Facebook的,我需要5.4运行最新的SDK.

我愿意接受较低的SDK,但是:

  1. 如果我使用较旧的SDK,我会没事吗?
  2. 我应该使用哪个SDK?

奖金问题:

  1. 应该将作曲家路径更改为使用旧SDK?目前我有:

    "facebook/php-sdk-v4":"4.0.*"

facebook-php-sdk

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