草庐IT

hmac-filter

全部标签

php - Node Crypto createHmac() 输出与具有相同输入的 PHP hash_hmac() 输出不同吗?

我正在尝试在Node.js中复制一个PHP哈希生成函数。此哈希用作API的一部分。PHP版本创建系统接受的正确输出。尽管我认为函数的输入相同,但Node版本会创建不同的输出。这是因为PHP和NodeHMAC函数的工作方式有一些根本不同吗?还是因为我只是缺少字符编码的一些怪癖?还是我只是搞砸了其他事情?PHP代码$url='https://example.com/api/endpoint';$user='apiuser';//Examplekey$key='+raC8YR2F+fZypNJ5q+CAlqLFqNN1AlAfWwkwJLcI7jrAvppjRPikWp523G/u0BLSp

PHP 5.4 : Can I use multiple flags with a filter using filter_var_array()?

PHPManual:filter_var_array()mixedfilter_var_array(array$data[,mixed$definition[,bool$add_empty=true]])对于filter_var_array()调用的$definition参数,这样的东西可以工作吗?(数组语法>=PHP5.4)$def=['firstName'=>['filter'=>FILTER_SANITIZE_STRING,'flags'=>[FILTER_REQUIRE_SCALAR|FILTER_FLAG_NO_ENCODE_QUOTES|FILTER_FLAG_STRIP_

使用 HMAC+nonce 存储 PHP 密码 - nonce 随机性重要吗?

几年前,我在stackoverflow上询问过如何使PHP密码存储安全。mainanswer建议使用以下哈希算法:functionhash_password($password,$nonce){global$site_key;returnhash_hmac('sha512',$password.$nonce,$site_key);}答案建议使用随机nonce。与简单的唯一随机数相比,随机数有什么优势吗?例如,每个用户可以有自己的ID,该ID不会改变。但是,我们假设用户ID是连续的(使用MySQL的自动递增功能构建),因此不是随机的。用户ID是一个好的随机数还是随机性很重要?现在,每个用

php - filter_input() $_SERVER ["REQUEST_URI"] 与 FILTER_SANITIZE_URL

我正在过滤$_SERVER["REQUEST_URI"]这样:$_request_uri=filter_input(INPUT_SERVER,'REQUEST_URI',FILTER_SANITIZE_URL);如php.net中所述:FILTER_SANITIZE_URLRemoveallcharactersexceptletters,digitsand$-_.+!*'(),{}|\^~[]`#%";/?:@&=.但是,浏览器发送这个REQUEST_URI值urlencode,因此它没有在这个filter_input()函数中被清理。说地址是http://www.example.co

php - 如何在使用 filter_input 的同时检查 POST 和 GET 数据?

我想知道是否有可能获取一个变量,无论它是在POST还是GET中,然后使用filter_input()对其进行清理。起初我认为$var=filter_input(INPUT_POST|INPUT_GET,"var",FILTER_SANITIZE_STRING)可能有效,但它没有,PHP手册指出你只能传递一种类型的输入。我还尝试了INPUT_REQUEST,但奇怪的是没有成功。该函数识别它(即它不会抛出一个错误,说我在$input中放错了东西),但它不会得到任何代码。是的,我知道不要在实时环境中使用INPUT_REQUEST,我只是纯粹测试它是否可行。目前我在做以下事情:$var=fil

php - Zend_Validate_EmailAddress 与 filter_var(..., FILTER_VALIDATE_EMAIL)

在Zend_Validate_EmailAddress和filter_var(...,FILTER_VALIDATE_EMAIL)中,验证电子邮件地址时哪个更好,为什么? 最佳答案 两者都可用于验证电子邮件地址,但Zend_Validate_EmailAddress更强大。虽然filter_var是一个简单的是或否验证器,但有许多选项可以改变Zend_Validate_EmailAddress的严格程度。您可以选择要验证的部分、验证这些部分的规则,甚至可以选择验证MX记录。最后,Zend_Validate_EmailAddress可

php - Symfony2 测试 : filter with html:contains return one value

我想在用户提交没有任何数据的表单时使用PHPUnit测试我的Symfony2应用程序。我的验证已激活,因此错误消息会在导航器中正确显示。例如在实体中:classFoo{/***@varstring**@Assert\NotBlank()*@ORM\Column(name="name",type="string",length=255)*/private$name;/***@varstring**@Assert\NotBlank()*@ORM\Column(name="city",type="string",length=255)*/private$city;}以及这个实体的类型:cla

php - 如何让这个 Filter 在这个 Validator 之后运行

我有一个元素。我想向其添加自定义验证器和自定义过滤器。验证器确保输入是几个允许值之一,然后过滤器将一些自定义值添加到输入。这意味着我必须在运行过滤器之前先验证原始输入。我按照这个顺序做$element=newZend_Form_Element_Text('element');$element->addValidator('PermittedValue',false);$element->addFilter('TotalHyphen',false);$this->addElement($element);但是这个命令没有得到遵守。过滤器首先运行并更改数据,然后验证器在过滤后的数据上运行,

php - 使用带参数的 filter_var

我正在尝试检查变量是否为整数以及她是否在调音区中:2-15。我正在尝试使用filter_var()函数来实现。但我不明白如何正确使用min_range和max_range参数。这行不通,我哪里错了?$c=48;if(filter_var($c,FILTER_VALIDATE_INT,array("min_range"=>2,"max_range"=>15))===false){echo"bad";} 最佳答案 min_range和max_range值必须是一个级别,更深://forfiltersthatacceptoptions,u

PHP 何时使用 filter_var 而不是内置 php 函数

我注意到您可以使用PHP做很多事情filter_var也可以用其他功能完成的功能。例如,过滤器FILTER_VALIDATE_REGEXP、FILTER_SANITIZE_ENCODED以及更多过滤器在PHP中也有各自的专用函数。什么时候应该使用filter_var什么时候应该使用PHP函数?有什么优点和缺点? 最佳答案 filter的优势扩展是您将一切都集中在一个地方。但你是对的,它并没有提供太多新颖的功能。您可以使用现有功能完成大部分工作,特别是preg_replace或preg_match而不是FILTER_VALIDATE_