我想规范化来自外部资源的路径以防止目录遍历攻击.我知道realpath()函数,但遗憾的是这个函数只返回现有目录的路径.因此,如果目录不存在(还),则realpath()函数会切断不存在的路径的整个部分.
所以我的问题是:你知道一个只能规范路径的PHP函数吗?
PS:我也不想提前创建所有可能的目录;-)
我尝试通过html5音频标签播放一些mp3文件.对于桌面而言,这非常适合(使用Chrome),但是当涉及到移动浏览器(也是Chrome(适用于Android))时,似乎存在一些困难:
我用一些密码保护了流,因此流媒体服务器需要找到一个特殊的身份验证cookie(spring security remember-me).但不知何故,移动浏览器在通过音频标签访问mp3流时不会发送此cookie.当我直接输入流URL到地址栏时,一切正常.
当我搜索我发现的丢失的cookie时,移动浏览器仍然发送一些cookie(例如JSESSIONID),但不是全部.进一步调查(使用PHP的快速PoC)显示移动浏览器似乎拒绝通过具有HttpOnly Flag设置的audio-tag发送cookie.所以我的问题是:
这是一个指定的行为,为什么移动和桌面版本(Chrome)之间存在差异,是否有一种方法可以控制客户端的行为?
我读过,如果您想以便携式方式使用Bash,则应该使用shebang:
#!/usr/bin/env bash
但是现在我想知道:当我想明确声明我不依赖Bash而是编写了POSIX兼容脚本时,我应该使用:
#!/bin/sh
还是#!/usr/bin/env sh在这里更可取?