Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查url-哈希+盐_Php - Fatal编程技术网

Php 检查url-哈希+盐

Php 检查url-哈希+盐,php,Php,我对如何检查这样的URL有疑问: http://your.url/set_new_password.php?userid=564979&code=54c4a2767c2f485185ab72cdcf03ab59 我需要检查数据库中是否存在userid,以及userid是否与链接中的散列相关联 我读到不可能在php中检查url。如果是,有可能解决这个问题吗?我需要验证数据库中是否存在链接中的哈希和用户ID 还有其他选择吗?在php中使用$\u GET变量 $_GET['userid']

我对如何检查这样的URL有疑问:

http://your.url/set_new_password.php?userid=564979&code=54c4a2767c2f485185ab72cdcf03ab59
我需要检查数据库中是否存在userid,以及userid是否与链接中的散列相关联

我读到不可能在php中检查url。如果是,有可能解决这个问题吗?我需要验证数据库中是否存在链接中的哈希和用户ID


还有其他选择吗?

在php中使用$\u GET变量

$_GET['userid']

在php中使用$\u GET变量

$_GET['userid']

在PHP中,$\u GET数组具有url参数。因此,在本例中,在PHP中使用$\u GET['userid']和$\u GET['code']

时,$\u GET数组具有url参数。因此,在本例中,您将使用$\u GET['userid']和$\u GET['code']

URL中的变量userid和code在一个名为GET的数组中提供给PHP:

echo $_GET['userid']; // 564979
如果URL中有散列或片段,则无法返回PHP:

www.mysite.com?val=1#part2
在上面,PHP可以看到域和val变量,但不能看到part2。使用散列来显著更改页面的站点,例如GMail,在散列更改时使用javascript拉入新内容

确保在使用变量之前对其进行清理,以避免恶意用户入侵您的系统。这是一个大话题,但请仔细阅读以下内容:

如果您不进行清理,可能会有人更改您的url,以便将变量设置为:

;DELETE * FROM mytable;
当您在不清理输入的情况下查询数据库时,可能会丢失所有数据。

URL中的变量userid和代码在一个名为GET:

echo $_GET['userid']; // 564979
如果URL中有散列或片段,则无法返回PHP:

www.mysite.com?val=1#part2
在上面,PHP可以看到域和val变量,但不能看到part2。使用散列来显著更改页面的站点,例如GMail,在散列更改时使用javascript拉入新内容

确保在使用变量之前对其进行清理,以避免恶意用户入侵您的系统。这是一个大话题,但请仔细阅读以下内容:

如果您不进行清理,可能会有人更改您的url,以便将变量设置为:

;DELETE * FROM mytable;

当您在不清理输入的情况下查询数据库时,可能会丢失所有数据。

请参阅服务器由apache、php和mysql组成。当您通过浏览器访问此url时,它首先被发送到apache,apache会将您的请求转发给php。从那时起,Php就完全控制了一切。客户端浏览器发出的请求由各种数据组成,这些数据可分为Cookie、Header、post、get请求等类型。所有这些数据都可以在php$\u GET、$\u POST等中的相应suprglobal变量中访问。在您的情况下,您需要访问$\u GET。所以$\u GET['userid']访问userid,而$\u GET['code']访问代码。最后,您将连接ot MYSQL,并像Select*一样查询用户,其中“userid”=$\u GET[“userid”]和“code”=$\u GET[“code”]

请参见服务器由apache、php和mysql组成。当您通过浏览器访问此url时,它首先被发送到apache,apache会将您的请求转发给php。从那时起,Php就完全控制了一切。客户端浏览器发出的请求由各种数据组成,这些数据可分为Cookie、Header、post、get请求等类型。所有这些数据都可以在php$\u GET、$\u POST等中的相应suprglobal变量中访问。在您的情况下,您需要访问$\u GET。所以$\u GET['userid']访问userid,而$\u GET['code']访问代码。最后,您将连接ot MYSQL,并像Select*一样查询用户,其中“userid”=$\u GET[“userid”]和“code”=$\u GET[“code”]

嗨,你为什么要检查url??您通过$\u get['userid']和$\u get['code']$\u get['userid'和$\u get['code']获得所需的值,谁说您不能用php检查url?嗨,为什么要检查url??你通过$\u get['userid']和$\u get['code']$\u get['userid']和$\u get['code']获得所需的值,谁说你不能用php检查url?但它很简单,你的代码检查url部分-userid?我在这个链接中读到php无法读取url:我已经阅读了sanitize,这是什么意思?ThanksHP无法读取链接问题中URL的哈希部分。PHP是服务器端,散列只能由客户端浏览器看到。但要检查数据库中是否存在散列,PHP必须读取URL的散列部分,否则我会混淆问题?在您的情况下,您将散列与代码值混淆,URL散列是URL以开头的部分。您只需要$u GET['code']的值-您的url中没有url哈希。URL名称属性与加密哈希表不同,但它非常简单,您的代码会检查URL部分-userid?我在这个链接中读到php无法读取url:我已经阅读了sanitize,这是什么意思?ThanksHP无法读取链接问题中URL的哈希部分。PHP是服务器端,只有客户端浏览器才能看到散列。但要检查数据库中是否存在散列
如果php必须读取URL的哈希部分,或者我混淆了这个问题?在您的例子中,您混淆了哈希代码的值,而URL哈希是URL以开头的部分。您只需要$u GET['code']的值-您的url中没有url哈希。URL名称属性与加密哈希不相同