小编Vla*_*mir的帖子

hash_pbkdf2 vs password_hash PHP函数

由于PHP 5.5.0现已推出,

  1. 哪一个更好用(安全性,可移植性,未来证明)?

  2. 它说,password_hash()PASSWORD_DEFAULT可以在每个完全释放改变(+1.0或+ 0.1),所以我们如何使用先前的默认方法散列与新的默认的密码?这是否意味着在用户更改密码之前,数据库中已经具有哈希密码的PHP 5.5脚本将无法在PHP 5.6上运行?什么成本变化(我想知道,如果服务器可以更新到PHP V5.6或网站管理员可能改变托管服务提供商(然后更改成本弱/强的服务器),而无需为当前用户的任何问题)

  3. 我们应该等待一些更新,还是可以安全地在5.5.0中使用它们

  4. 我们是否还应该使用PHPass等框架,或者这些新的PHP 5.5功能是否足够和/或更具未来性?

php security php-password-hash

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

如何在运行查询时更改数据类型(不在PHP内)

说明

当在MySQL内部对小数进行精确数学运算时,它将字符串处理为Float而不是固定,例如,如果我们在数据库中有以下列(金额类型为DECIMAL(43,20))

+--------------------------+
|         amount           |
+--------------------------+
|  0.20000000000000000000  |
+--------------------------+
Run Code Online (Sandbox Code Playgroud)

运行以下PHP代码

$amount_to_add = "0.1";
$stmt = $dbh->prepare("UPDATE table SET amount = amount + :amount");
$stmt->bindValue("amount", $amount_to_add);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)

会导致这样的:

+--------------------------+
|         amount           |
+--------------------------+
|  0.30000000000000004000  |
+--------------------------+
Run Code Online (Sandbox Code Playgroud)

注意额外的0.0000000000000000 4000

因为$amount_to_add是字符串

因为我需要使用BC Math函数,所以它的输出总是字符串

And i can't convert it to double/float inside PHP because it will lose precision and decimal points

问题

我应该如何将它传递给MySQL以将其视为十进制(固定)而不是字符串(浮点数),这不需要在PHP中更改字符串类型?

是否可以在运行查询时声明数据类型?所以它在MySQL内部将字符串更改为十进制

php mysql mysqli pdo

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

我们是否应该包括排序列,复合索引的主键(MySQL)

表格(简体):

+---------------------------------------------------------------------+
| id (Primary AI) |  user_id  |  status  |  type  |   data   |   ip   |
+=====================================================================+
|        1        |     3     |    0     |   abc  |   a-s-d  |    -   |
+---------------------------------------------------------------------+
|        2        |     1     |    0     |   ooo  |   z-z-z  |    -   |
+---------------------------------------------------------------------+
|        3        |     3     |    0     |   ooo  |   f-f-f  |    -   |
+---------------------------------------------------------------------+
|        4        |     2     |    0     |   abc  |   h-h-h  |    -   |
+---------------------------------------------------------------------+
|        5        |     1     |    0 …
Run Code Online (Sandbox Code Playgroud)

mysql

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

奇怪的输出当我在PHP中回显并注意,如何解决它?

当我在PHP中回应"¬e"时,它变成了¬e

<?
echo "&note";
?>
Run Code Online (Sandbox Code Playgroud)

输出:

¬e
Run Code Online (Sandbox Code Playgroud)

我需要输出为:

&note
Run Code Online (Sandbox Code Playgroud)

这里有什么问题,我该如何解决这个问题?

html php

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

更改NuSOAP的传出IP

我用专用IP地址托管了cPanel,

但是,传出IP仍然是主机提供者的共享IP(应该是)。

我需要使用带有该专用IP的nusoap进行一些传出呼叫:

$nusoap = new nusoap_client("https://URL/");
$call   = $nusoap->call(...);
Run Code Online (Sandbox Code Playgroud)

如何在此处使用NuSOAP更改传出IP?

我知道如何使用cURL(curl_setopt($ch, CURLOPT_INTERFACE, $website_ip);),但是如何使用此方法实现相同的目的。已经在服务器端和php端工作了几个小时,但仍然无法弄清楚。

php ip curl soap nusoap

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

标签 统计

php ×4

mysql ×2

curl ×1

html ×1

ip ×1

mysqli ×1

nusoap ×1

pdo ×1

php-password-hash ×1

security ×1

soap ×1