小编Cra*_*cis的帖子

通过grep管道尾部输出两次

使用典型的Apache访问日志,您可以运行:

tail -f access_log | grep "127.0.0.1"
Run Code Online (Sandbox Code Playgroud)

这只会显示指定IP地址的日志(因为它们已创建).

但是,为什么grep在第二次管道时会失败,以进一步限制结果?

例如,".css"的简单排除:

tail -f access_log | grep "127.0.0.1" | grep -v ".css"
Run Code Online (Sandbox Code Playgroud)

不会显示任何输出.

unix bash shell grep tail

26
推荐指数
2
解决办法
7252
查看次数

查找音频文件中的音效

我加载了 3 小时的 MP3 文件,每大约 15 分钟就会播放一次独特的 1 秒音效,这标志着新章节的开始。

是否可以识别每次播放该音效的时间,以便我可以记录时间偏移?

每次的声音效果都相似,但由于它是以有损文件格式编码的,因此会有少量变化。

时间偏移将存储在ID3 章节帧元数据中。


示例 Source,其中声音效果播放两次。

ffmpeg -ss 0.9 -i source.mp3 -t 0.95 sample1.mp3 -acodec copy -y

ffmpeg -ss 4.5 -i source.mp3 -t 0.95 sample2.mp3 -acodec copy -y


我对音频处理非常陌生,但我最初的想法是提取 1 秒音效的样本,然后librosa在 python 中使用来提取两个文件的浮点时间序列,对浮点数进行舍入,并尝试获取一场比赛。

import numpy
import librosa

print("Load files")

source_series, source_rate = librosa.load('source.mp3') # 3 hour file
sample_series, sample_rate = librosa.load('sample.mp3') # 1 second file

print("Round …
Run Code Online (Sandbox Code Playgroud)

python audio audio-processing librosa

8
推荐指数
1
解决办法
6580
查看次数

在经过验证的HTML5中使用aria-sort

假设一个静态HTML表,例如:

<table>
    <thead>
        <tr>
            <th scope="col" aria-sort="none"><a href="...">Name&#xA0;<span title="Sort">&#9650;</span></a></th>
            <th scope="col" aria-sort="ascending"><a href="...">Score&#xA0;<span title="Ascending">&#9650;</span></a></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>C</td>
            <td>1</td>
        </tr>
        <tr>
            <td>A</td>
            <td>5</td>
        </tr>
        <tr>
            <td>B</td>
            <td>9</td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

aria-sort是否适当使用(当UA支持它时)?

http://www.w3.org/TR/wai-aria/states_and_properties#aria-sort

我相信这可能很有用,但W3C验证器目前需要一个role="columnheader"on <th scope="col">,这有点多余,因为它已经暗示th[scope="col"]:

http://www.w3.org/TR/wai-aria/roles#columnheader

一旦你开始指定它,你还需要设置一个角色,直到<table role="grid">...如果你没有使用适当的标签,这很好.

html5 accessibility w3c-validation wai-aria

6
推荐指数
1
解决办法
1万
查看次数

MySQL注入SQL(一个有趣的挑战)

一位开发人员刚刚在我维护的网站上引入了一个SQL注入漏洞,我想展示它是如何被轻易利用的; 但有几个问题.

采用SQL,大致是:

SELECT
    c.id,
    c.name,
    c.start
FROM
    course AS c
WHERE
    MONTH(c.start) = $_GET['month']
ORDER BY
    c.start
Run Code Online (Sandbox Code Playgroud)

如果我设置$_GET['month']为:

13 UNION SELECT 1, username, 3 FROM admin
Run Code Online (Sandbox Code Playgroud)

这将运行查询:

SELECT
    c.id,
    c.name,
    c.start
FROM
    course AS c
WHERE
    MONTH(c.start) = 13 UNION SELECT 1, username, 3 FROM admin
ORDER BY
    c.start
Run Code Online (Sandbox Code Playgroud)

如果ORDER BY不包含c.表别名,那么哪个会起作用.相反,它会导致错误:

Table 'c' from one of the SELECTs cannot be used in field list
Run Code Online (Sandbox Code Playgroud)

别号

添加cALIAS admin也没有任何区别:

13 UNION SELECT 1, c.username, …
Run Code Online (Sandbox Code Playgroud)

php mysql sql sql-injection

6
推荐指数
1
解决办法
301
查看次数

2013年的双腿认证标准 - 我们应该使用oAuth2吗?

如果我要实现一个新的服务器到服务器API,有哪些身份验证标准可以让其他人轻松使用?

理想情况下,我需要记录的关于身份验证如何工作的越少越好(因此标准),并且使用该服务的开发人员更有可能使用标准库.

但有些限制:

  • 我不能保证API可以在HTTPS上使用,因为它可能位于托管多个网站(具有1个IP地址)的盒子上.
  • 它应该阻止重放攻击......因此,如果请求被网络上的另一个节点捕获,则无法将相同的请求重新发送到API.
  • 理想情况下,您应该发送请求并获取响应...因此无需首先联系API以获取一次性密钥(nonce)
  • 该请求可能应由发件人完整签名,以避免中间人类攻击.

我怀疑SSL类型设置有点太复杂,因为似乎大多数开发人员并不真正知道如何正确实现它.

使用oAuth 1.0,它看起来很简单:

http://provider.example.net/profile
    Authorization: OAuth realm="http://provider.example.net/",
    oauth_consumer_key="dpf43f3p2l4k3l03",
    oauth_signature_method="HMAC-SHA1",
    oauth_signature="IxyYZfG2BaKh8JyEGuHCOin%2F4bA%3D",
    oauth_timestamp="1191242096",
    oauth_token="",
    oauth_nonce="kllo9940pd9333jh",
    oauth_version="1.0"
Run Code Online (Sandbox Code Playgroud)

但开发人员现在似乎正专注于oAuth 2,其中一个可能的解决方案是:

两条腿的oauth如何在OAuth 2.0中运行?

首先要求你调用"/ oauth/token"来获取一个令牌,但似乎没有太多关于这实际如何工作的规范形式(参见回复):

http://www.ietf.org/mail-archive/web/oauth/current/msg07957.html

然而,有一些提及在oAuth 2中使用MAC,这可能是有用的...例如,授权一次获取MAC(没有登录详细信息),保持半无限期,并重新使用所有后续要求:

http://blog.facilelogin.com/2013/01/oauth-20-bearer-token-profile-vs-mac.html

还有一个关于HMAC的有趣讨论,这意味着它没有关于如何工作的标准:

http://flascelles.wordpress.com/2010/01/04/standardize-hmac-oauth-restful-authentication-schemes/


其他说明:

oAuth 1.0的实施,文档和讨论:

http://www.ietf.org/mail-archive/web/oauth/current/msg06218.html https://developers.google.com/accounts/docs/OAuth#GoogleAppsOAuth http://oauth.googlecode.com/ SVN /规格/ EXT/consumer_request/1.0 /草稿/ 2/spec.html

不幸的是,我读到的oAuth 2.0越多,我就越认同Eran Hammer:

现在提供的是授权协议的蓝图,"这是企业的方式",提供"销售咨询服务和集成解决方案的全新前沿". http://en.wikipedia.org/wiki/OAuth

api oauth oauth-2.0

5
推荐指数
1
解决办法
1207
查看次数

RegEx,替换可变数量的替换

希望我错过了一些明显的东西。

我有一个包含以下几行的文件:

| A | B | C |
|-----------|
Ignore this line
| And | Ignore | This |
| D | E | F | G |
|---------------|
Run Code Online (Sandbox Code Playgroud)

我想找到这些|----|行,删除那些……并用前一行中的|a替换所有字符^。例如

^ A ^ B ^ C ^
Ignore this line
| And | Ignore | This |
^ D ^ E ^ F ^ G ^
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有:

perl -0pe 's/^(\|.*\|)\n\|-+\|/$1/mg'
Run Code Online (Sandbox Code Playgroud)

这需要来自 stdin 的输入(一些其他修改已经发生sed)...并且它正在使用-0/m支持多行替换。

匹配似乎是正确的,它删除了|----|行,但我看不出如何使用(或)反向引用| …

regex perl

5
推荐指数
1
解决办法
106
查看次数

使用R到COUNT()和GROUP_CONCAT(DISTINCT x)

我正在使用R分析我的Web服务器日志:

data = read.table("/path/to/log", sep=" ")
Run Code Online (Sandbox Code Playgroud)

这些日志包括最终用户IP地址和USER_ID(登录后).

我正在寻找比平时更活跃的用户,或者使用比平常更多的IP地址.

我现在可以通过USER_ID将R分组并计算记录:

counts <- ddply(data, .(data$user_id), nrow);
names(counts) <- c("user_id", "freq");
print(counts[order(counts$freq),c(2,1)], row.names = FALSE);

freq  user_id
   1    10171
  40     7433
  94      210
 102     2043
Run Code Online (Sandbox Code Playgroud)

但我还想添加一个GROUP_CONCAT(DISTINCT IP)的等价物,如SQL中所示,我也可以看到该用户的不同IP地址列表.

freq  user_id  ips
   1    10171  192.168.0.1
  40     7433  192.168.0.5,192.168.0.2
  94      210  192.168.0.9
 102     2043  192.168.0.1,192.168.0.3,192.168.0.8
Run Code Online (Sandbox Code Playgroud)

在SQL中,它看起来像:

SELECT
    user_id,
    COUNT(id) AS freq,
    GROUP_CONCAT(DISTINCT ip SEPARATOR ",") AS ips
FROM
    log_table
GROUP BY
    user_id
ORDER BY
    freq ASC;
Run Code Online (Sandbox Code Playgroud)

这可能与aggregate()函数有关,但我现在还没想出来.

r

3
推荐指数
2
解决办法
704
查看次数

JavaScript图像缩放和平移(拖动)

有关缩放大图像和平移的任何建议吗?理想情况下在页面上内联.

我一直在使用PanoJS(又名GSV2),但现在越来越多人使用iPhone/iPad/Android类型设备,这个库要么太慢,要么旧版本不支持拖动(我现在使用的那个) ).

http://code.google.com/p/panojs/

http://www.dimin.net/software/panojs/

我目前的想法是,对于这些小型处理器,使用平铺图像方法太多了(在最大变焦时尝试拖动144个单独的图像,从3000 x 3000px原始图像,每个图块为250x250px).

所以可能更多的是在设置宽度/高度的情况下加载原始图像...并且编写我自己的JS来缩放/拖动,或者使用另一个库(我现在似乎无法找到)...然后就是使用jQuery(使用jQuery UI进行可拖动支持)的问题,或者只是自己编写原始JS以保持代码量不足.

javascript jquery jquery-ui

2
推荐指数
1
解决办法
2万
查看次数