{"id":236,"date":"2022-06-12T08:41:44","date_gmt":"2022-06-11T23:41:44","guid":{"rendered":"https:\/\/www.b64.pw\/blog\/?p=236"},"modified":"2022-06-12T08:41:45","modified_gmt":"2022-06-11T23:41:45","slug":"php-memcached-v3-2-0%e3%81%a7%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%81%aa%e3%81%a9%e3%83%9e%e3%83%ab%e3%83%81%e3%83%90%e3%82%a4%e3%83%88%e6%96%87%e5%ad%97%e3%81%ae%e3%82%ad%e3%83%bc%e3%82%92%e4%bd%bf%e3%81%86","status":"publish","type":"post","link":"https:\/\/www.b64.pw\/blog\/?p=236","title":{"rendered":"php memcached v3.2.0\u3067\u65e5\u672c\u8a9e\u306a\u3069\u30de\u30eb\u30c1\u30d0\u30a4\u30c8\u6587\u5b57\u306e\u30ad\u30fc\u3092\u4f7f\u3046\u3068A BAD KEY WAS PROVIDED\u30a8\u30e9\u30fc\u304c\u51fa\u308b\u5834\u5408\u306e\u5bfe\u51e6"},"content":{"rendered":"\n<p>PHP8.2\u306b\u306a\u3063\u3066\u5bfe\u5fdc\u3059\u308bmemcached extension\u304c<a href=\"https:\/\/github.com\/php-memcached-dev\/php-memcached\/tree\/v3.2.0\">php_memcached v3.2.0<\/a>\u306b\u5909\u308f\u3063\u305f\u95a2\u4fc2\u3067\u3001\u30ad\u30fc\u306b\u65e5\u672c\u8a9e\u306a\u3069\u30de\u30eb\u30c1\u30d0\u30a4\u30c8\u3092\u4f7f\u3046\u3068<code>A BAD KEY WAS PROVIDED<\/code> \u3068\u3044\u3046\u30a8\u30e9\u30fc\u304c\u51fa\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3002<\/p>\n\n\n\n<p>php_memcached\u306e\u30bd\u30fc\u30b9\u3092\u8abf\u3079\u3066\u307f\u305f\u7d50\u679cv3.1.5\u3068v3.2.0\u3067<a href=\"https:\/\/github.com\/php-memcached-dev\/php-memcached\/commit\/7bbf4fbad3b25cb2628b96eafce50d19f22e3b47#diff-5b99926af39711512b1214499e87c657fe92a5aec030942e68527af33d9a0ff5L231\">\u4e0b\u8a18\u306e\u70b9<\/a>\u304c\u5909\u308f\u3063\u3066\u3044\u305f\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>static\r\nzend_bool s_memc_valid_key_ascii(zend_string *key)\r\n{\r\n\tconst char *str = ZSTR_VAL(key);\r\n\tsize_t i, len = ZSTR_LEN(key);\r\n\r\n\tfor (i = 0; i &lt; len; i++) {\r\n-\t\t<strong>if (iscntrl(str&#91;i]) || isspace(str&#91;i]))<\/strong>\r\n+\t\t<strong>if (!isgraph(str&#91;i]) || isspace(str&#91;i]))<\/strong>\r\n\t\t\treturn 0;\r\n\t}\r\n\treturn 1;\r\n}<\/code><\/pre>\n\n\n\n<p>\u307e\u305f\u3001\u30c6\u30b9\u30c8\u30b3\u30fc\u30c9\u306b\u3082\u30de\u30eb\u30c1\u30d0\u30a4\u30c8\u306e\u30ad\u30fc\u3067\u30a8\u30e9\u30fc\u306b\u306a\u308b\u304b\u3069\u3046\u304b\u306e\u30c1\u30a7\u30c3\u30af\u304c\u884c\u308f\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u30d0\u30b0\u3067\u306f\u306a\u304f\u3053\u306e\u3088\u3046\u306a\u4ed5\u69d8\u306b\u306a\u3063\u3066\u3044\u308b\u3002<br>\u539f\u56e0\u3068\u3057\u3066\u306flibmemcached\u306e\u307b\u3046\u306ekeycheck\u3068\u6319\u52d5\u3092\u305d\u308d\u3048\u305f\u7d50\u679c\u306e\u6a21\u69d8\u3002<\/p>\n\n\n\n<p><strong>\u5bfe\u51e6\u6cd5<\/strong><\/p>\n\n\n\n<p>(1) \u30d0\u30a4\u30ca\u30ea\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u4f7f\u3046<br>memcached.default_binary_protocol\u3092on\u306b\u3059\u308b<br>https:\/\/www.php.net\/manual\/ja\/memcached.configuration.php#ini.memcached.default-binary-protocol<\/p>\n\n\n\n<p>(2) \u30ad\u30fc\u3092\u30cf\u30c3\u30b7\u30e5\u95a2\u6570\u306b\u901a\u3059<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$memcached->set(sha1('\u65e5\u672c\u8a9e\u30ad\u30fc','testvalue')); \r\n$memcached->get(sha1('\u65e5\u672c\u8a9e\u30ad\u30fc'));<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>PHP8.2\u306b\u306a\u3063\u3066\u5bfe\u5fdc\u3059\u308bmemcached extens &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[20,2],"tags":[],"_links":{"self":[{"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/posts\/236"}],"collection":[{"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=236"}],"version-history":[{"count":1,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/posts\/236\/revisions"}],"predecessor-version":[{"id":237,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/posts\/236\/revisions\/237"}],"wp:attachment":[{"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}