最近有一些攻击者在我的服务器上尝试恶意攻击,所以我决定稍微"跟踪"它们,即使我知道它们不会走得太远.
现在,我有一个包含服务器日志的整个目录,我需要一种方法来搜索目录中的每个文件,并在找到字符串时返回文件名.所以我想,自己用于文本和文件操作的语言比Perl更好?所以我的朋友正在帮助我使用脚本来扫描某个IP的所有文件,并返回包含IP的文件名,这样我就不必手动搜索每个日志的攻击者了.(我有几百个)
#!/usr/bin/perl
$dir = ".";
opendir(DIR, "$dir");
@files = grep(/\.*$/,readdir(DIR));
closedir(DIR);
foreach $file(@files) {
open FILE, "$file" or die "Unable to open files";
while(<FILE>) {
print if /12.211.23.200/;
}
}
Run Code Online (Sandbox Code Playgroud)
虽然它给我目录读取错误.非常感谢任何帮助.
编辑:代码编辑,仍然说权限被拒绝无法打开第10行的目录.如果你质疑目录更改为".",我将从日志目录中运行脚本.
麦克风.
我正在尝试在Delphi 2007中编写一个使用ActiveX库的类.该类将捕获ActiveX库必须公开其自身事件的事件,该事件将一些信息添加到ActiveX库的事件中.
最重要的是,当我将自己的过程分配给我想要使用的ActiveX库的事件时,我收到一个错误:
E2009 Incompatible types: 'Parameter lists differ'
Run Code Online (Sandbox Code Playgroud)
我确定参数列表是相同的(相同数量的参数和相同的类型)所以我在想我会以错误的方式去做.
任何建议或有人可以发布我正在尝试做的一些示例代码?
我想创建一个超过3-4 Expression.Or的查询?但Expression.Or只是让我在其中添加两个表达式.
if (!string.IsNullOrEmpty(keyword))
query
.Add(Expression.Or(
Expression.Like("Name", keyword, MatchMode.Anywhere),
Expression.Like("LastName", keyword, MatchMode.Anywhere)))
.Add(Expression.Or(
Expression.Like("Email1", keyword, MatchMode.Anywhere),
Expression.Like("Email2", keyword, MatchMode.Anywhere)));
Run Code Online (Sandbox Code Playgroud)
上面的代码生成"名称像%this this或LastName like%this%AND Email1 like%this%和Email2 like%this.
提前致谢.
我有这样的结构:
class Items
{
private:
struct item
{
unsigned int a, b, c;
};
item* items[MAX_ITEMS];
}
Run Code Online (Sandbox Code Playgroud)
假设我想'删除'一个项目,如下所示:
items[5] = NULL;
Run Code Online (Sandbox Code Playgroud)
我后来在同一个地方创建了一个新项目:
items[5] = new item;
Run Code Online (Sandbox Code Playgroud)
我还需要打电话delete[]来清理它吗?或者不需要这样,因为items[]在编译之前已知数组的边界?
将该指针设置为NULL有效还是应该在那里调用delete?
在我的iPhone应用程序中,我NSDecimalNumber用来存储一些货币汇率值.我在第一次启动应用程序时从Web上提取数据,然后在它们过时时再次从中提取数据,然后将它们存储在一个NSDictionary; 然后我用writeToFile:atomically:.
当应用程序首次启动时,我的速率转换方法可以正常工作.然而,当我第二次启动应用程序时,速率加载-(NSDictionary*) initWithContentsOfFile:转换方法停止工作,我得到奇怪的结果.
我在有罪的方法中使用断点进行了一些调试,我发现速率数据被视为NSCFNumber,而不是NSDecimalNumber.所以似乎initWithContentsOfFile没有为我的对象分配正确的类.对于记录,这些对象的实际值(如description方法中所示)对应于预期的速率值.
我还检查了生成的plist文件writeToFile:atomically:,并看到速率存储为real; 我想知道这是否是正确的类型.
什么事情都在发生?
在此先感谢
Davide
我试图使用以下内容获取给定目录中的子目录列表:
#!/usr/bin/perl -wT
use strict;
use warnings;
use File::Find::Rule;
use Data::Dumper;
my @subdirs = File::Find::Rule->maxdepth(1)->directory->relative->in('mydir');
print Dumper(@subdirs);
Run Code Online (Sandbox Code Playgroud)
但是,运行它会得到结果:
Insecure dependency in chdir while running with -T switch
我知道File::Find有处理污点模式的选项,但我似乎找不到相应的东西File::Find::Rule.可以做到以上几点吗?我应该使用替代方法列出子目录吗?我是否完全误解了一些我应该了解的关于污点模式的明显事实?
我是堆栈溢出和编程的新手,请原谅我任何尴尬的措辞!
我正在建立一个横向滚动的网站,图形丰富,大小为680x9400像素.我将使用一些javascript和/或mootools来创建一个很酷的横向滚动效果,类似于http://sursly.com.
我是网络优化所有使用的图像,但想知道是否有人有任何其他想法如何加快页面加载?有没有办法在水平部分预加载网站?
提前致谢.
当谈到Linq to SQL时,我有点新手,但我希望你能提供帮助.我用扩展方法编写了以下Linq to SQL语句:
Cedb.ClassEvents.Where(c => c.ClassID == 1).Select(c => c).Single()
Run Code Online (Sandbox Code Playgroud)
其中Cedb是Datacontext,ClassEvents是一个表(用于在工厂中保存的类和事件),ClassID是唯一的整数键.
此查询在LinqPad中运行正常(没有Cedb).当它返回时,它表示返回类型是"ClassEvent".在Visual Studio的Intellisense中,它告诉我此查询的返回类型是ClassEvent(在我的数据模型中创建).但是,当我尝试将结果放在变量中时:
var classEvent = Cedc.ClassEvents.Where(c.ClassID == 1).Select(c => c).Single();
Run Code Online (Sandbox Code Playgroud)
然后我收到一个错误:InvalidCastException:指定的强制转换无效.如果我使用"ClassEvent"类代替var,也会发生同样的事情.我是新手,但这个看起来像是一个真正的扣篮,而不是一个错误.是否有一些我不知道导致错误的Single方法?任何帮助,将不胜感激!
我知道这可能是一个基本问题,但我似乎无法在任何地方找到答案.
我有这样的课
Table<T>
{}
Run Code Online (Sandbox Code Playgroud)
然后我有一些代码使用上面的类,我想评论我希望能够做类似的事情:
/// <summary>
/// blah blah blah Table<String>
/// </summary>
Run Code Online (Sandbox Code Playgroud)
但我不能在评论中使用尖括号,因为它认为它是一个标记,当帮助显示时它只是有一个关于没有结束标记的错误.
如何在Visual Studio中的注释中显示泛型类.
perl ×2
arrays ×1
c# ×1
c++ ×1
cocoa ×1
cocoa-touch ×1
comments ×1
criteria ×1
currency ×1
delphi ×1
delphi-2007 ×1
deployment ×1
expression ×1
file ×1
grep ×1
icriteria ×1
iphone ×1
javascript ×1
linq-to-sql ×1
mootools ×1
new-operator ×1
nhibernate ×1
objective-c ×1
pageload ×1
search ×1
struct ×1
web ×1