在我的repo trunk中,我有一个目录unit-tests,我想要保留我的发布标记.我一直在做的是将trunk复制到新标签,然后删除unit-tests.这样好吗?这感觉不对,因为标记每个版本需要两次修改.有没有办法从svn副本中排除目录?
我有:
/trunk/unit-tests
/trunk/dir1
/trunk/file1
/trunk/file2
Run Code Online (Sandbox Code Playgroud)
我想创造:
/tags/release_123/dir1
/tags/release_123/file1
/tags/release_123/file2
Run Code Online (Sandbox Code Playgroud)
我通常使用Tortoise/Eclipse客户端,但如果需要我可以使用它.
我正在尝试在我们自己的Moodle回购分支上管理我们的Moodle实例.我检查了分支"MOODLE_19_STABLE"的标签"v1.9.11",然后将其复制到新的分支"COE",我在我们的自定义主题中添加了等等.
现在标记"v1.9.12"存在,我想将提交到该标记合并到我的"COE"分支(而不是之后的提交).
我可以用像git cherry-pick这样的东西吗?
phpass在encode64()中使用奇怪的(对我来说)算法来进行64位编码.在映射到可打印的char之前,Base64和Uuencode线性地将6位打包以产生每个八位字节. encode64洗牌:
input bit location: abcdefgh ijklmnop qrstuvwx
base64 bit location: ..abcdef ..ghijkl ..mnopqr ..stuvwx
encode64 bit location: ..cdefgh ..mnopab ..wxijkl ..qrstuv
Run Code Online (Sandbox Code Playgroud)
这个算法是众所周知的吗?除了向后兼容性,为什么选择Base64?
下面我重写了它以澄清算法:
function encode64($input, $bytesToProcess)
{
// convert to array of ints
for ($i = 0; $i < $bytesToProcess; $i++) {
$bytes[] = ord($input[$i]);
}
$octets = array();
$i = 0;
do {
$value = $bytes[$i++];
$octets[] = $value & 0x3f;
if ($i < $bytesToProcess) …Run Code Online (Sandbox Code Playgroud) 我有一个PHP应用程序,它使用一个$_GET参数来选择文件系统上的JS/CSS文件.
如果我拒绝输入字符串包含的所有请求./,\或者在可见的7位ASCII范围之外的字节,这是否足以在路径传递给PHP的基础(基于C的)文件函数时阻止父目录遍历?
我知道空字节漏洞,但有没有其他替代/格式错误的字符编码技巧可能会被这些检查吱吱作响?
这是基本的想法(不是生产代码):
$f = $_GET['f']; // e.g. "path/to/file.js"
// goal: select only unhidden CSS/JS files within DOC_ROOT
if (! preg_match('@^[\x20-\x7E]+$@', $f) // outside visible ASCII
|| false !== strpos($f, "./") // has ./
|| false !== strpos($f, "\\") // has \
|| 0 === strpos(basename($f), ".") // .isHiddenFile
|| ! preg_match('@\\.(css|js)$i@', $f) // not JS/CSS
|| ! is_file($_SERVER['DOCUMENT_ROOT'] . '/' . $f)) {
die();
}
$content = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/' …Run Code Online (Sandbox Code Playgroud) 在我的XAMPP/Win XP版本中,PHP5.2.3无法捕获任何异常.这些例子都不起作用,这个:
try {
throw new Exception('Fail');
} catch (Exception $e) {
echo 'Succeed';
}
Run Code Online (Sandbox Code Playgroud)
...结果是:
致命错误:M:\ path\to\test.php中未捕获的异常'Exception',消息'Fail':4堆栈跟踪:#4 {main} 在第4行的M:\ path\to\test.php中抛出
所有PHP的错误设置似乎都是标准的.服务器是Apache/2.2.4