草庐IT

location_key

全部标签

php - header : Location? 中使用的 URL 的卫生

在多步骤表单流程中,我收到一个URL作为表单字段。处理后,我的PHP脚本使用header("Location:...");重定向到该地址除了可能被滥用为色情网站的重定向服务以在电子邮件中生成看似无害的链接(打开重定向,通过将URL与本地域匹配可以帮助解决此问题),在此过程中是否有任何需要注意的黑客/利用危险?想到的一件事是将换行符偷运到URL中,这可能会打开向客户端发送任意header的可能性。 最佳答案 在旧版本的PHP中,您不得不担心CRLF注入(inject),即\r\n。这是一个“header响应拆分漏洞”。如果你去掉这些字

PHP OOP::在类之间传递 session key

我正在尝试找出最合适的设计来在PHP5.3中的类之间传递sessionkey。sessionkey是从第3方API检索的,我的应用程序进行各种API调用,所有这些调用都需要传入此sessionkey。我已经创建了类来保存相关的API调用,例如,类cart保存的方法在被调用时会触发对API的请求,以从API_GetCart()、API_AddItem()等调用中返回数据。我将sessionkey存储在单个cookie(唯一需要的cookie)中,并且需要使该cookie的值可供我几乎所有的类使用。我不能使用数据库或$_SESSION来保存session数据。第3方API负责对购物篮内容等

PHP 数组 - 一个 'set where key=?' 类型的函数?

是否有内置的php函数允许我根据匹配键设置数组的值?也许我最近写了太多SQL,但我希望我可以执行以下逻辑而无需像下面这样写出嵌套的foreach数组:foreach($array1AS$k1=>$a1){foreach($array2AS$a2){if($a1['id']==$a2['id']){$array[$k1]['new_key']=$a2['value'];}}}有更好的方法吗?在SQL逻辑中,它将是“SETarray1.new_key=xWHEREarray1.id=array2.id”。再一次,我最近写了太多SQL:S 最佳答案

php - 等效于 PHP 中的 escape(window.location.href)

我已经尝试了很多组合来获得我的页面的正确路径,比如javascript代码escape(window.location.href)我试过这个:$url="http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]$_SERVER[QUERY_STRING]";但它返回类似的东西:http://www.mydomain.com/node/4158?asdf=1asdf=1当实际页面是:http://www.mydomain.com/node/4158?asdf=1如果我有这个URL:http://www.mydomain.com/node/4158#c

PHP - 关联数组 : Changing keys for key value pair where value is a class object

我有一个形式的关联数组:$input=array("one"=>,"two"=>$input的键保证是唯一的。我还有一个名为moveToHead($key)的方法,它将$input[$key]元素移动到此关联数组的第0个位置。我有几个问题:是否可以确定关联数组的索引?如何将对应的$key=>$value对的数组条目移动到索引0并保留$key原样?实现上述两点的最佳方法是什么?我想为第二点做array_flip(子解决方案),但后来发现array_flip只能在数组元素为int和string时完成。有什么指点吗? 最佳答案 使用名为a

php - 如何在 PHP 中将 hmacsha1 key 设置为十六进制?

我能够使用以下代码成功获得HMACSHA1签名key:echohash_hmac('sha1','office:fred','AA381AC5E4298C23B3B3333333333333333333');产生:5e50e6458b0cdc7ee534967d113a9deffe6740d0但是,与我合作的地方却期望这样:46abe81345b1da2f1a330bba3d6254e110cd9ad8我尝试了onlinetool看起来两者之间的区别在于,与我一起工作的人需要一个HEX类型的签名key。为了输出HEX类型,我需要在我的PHP中添加一些东西吗?

php - PHP MD5 key 的等效 ruby​​ 代码

我尝试了以下PHP代码的等效ruby​​代码。PHP代码:var$secretKey="19535CF3D949D4EF56F8D3D4ED78C505";$sign=md5($post_data.$this->secretKey);尝试过的Ruby代码:secretKey="19535CF3D949D4EF56F8D3D4ED78C505"Digest::MD5.hexdigest(post_data,secretkey)这会抛出ArgumentError:参数数量错误(1代表0)错误。任何人都可以用正确的等效ruby​​代码帮助我。 最佳答案

PHP Predis : how to get/delete keys containing special characters?

我需要删除一个包含一些特殊键的键(在我的例子中是方括号):我做了以下,但它不起作用:$this->redis;$keys=$this->redis->keys("*");foreach($keysas$key){//keysareinthefollowingformat://vir3_data_cache[zones_cdc_shifting_series_2013_5][1]$this->redis->del($key);//nokeywasdeleted}我也尝试引用key,但没有成功:$this->redis;$keys=$this->redis->keys("*");forea

javascript - 如果重新加载同一页面,window.location.replace 将不起作用

我正在尝试刷新Ajax成功页面。varlastId="#"+id;window.location.replace("/myurl"+lastId);它正在将正确的URL写入我的浏览器,但我没有看到所做的更改。如果我刷新(F5)页面,我会正确地看到更改,因为ajax已正确发送。所以我认为如果url相同,页面将不会强制刷新。在这个例子中,我已经在http://mypage.com/myurl,它应该将我重定向到http://mypage.com/myurl#38174例如,所以我的浏览器将关注具有id="38174"的DOM元素。正如我所说,如果我提交ajax请求,我的url将更改为htt

php - Laravel Redirect->with(key, val) 不工作

我想使用->with(key,val)函数将信息从一个函数发送到另一个函数,但它不起作用。我已经尝试了很多东西,但都不起作用。这是我的实际设置(我使用的是laravel5.2):路由.phpRoute::group(['middleware'=>['web']],function(){Route::get("/test1","InfoController@test1");Route::get("/test2","InfoController@test2");});InfoController.phpclassInfoControllerextendsController{publicf