我正在使用Symfony2重写一个旧项目,所以我可以试用这个框架.我有以下形式的网址:
/profile/{id}
Run Code Online (Sandbox Code Playgroud)
以Symfony2做的时髦方式.但是,最初通过执行以下操作找到了同一页面:
/profile.php?id=12345
Run Code Online (Sandbox Code Playgroud)
因此,如果某人有旧网址,我想重定向这些链接.问题是,我不知道如何捕捉这种性质的路线.我试过了
/profile.php?id={id}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.我该如何设置这条路线?
后续行动:我不想做"全能"(因为它对我来说不直观,所以我担心未来的错误),我宁愿不通过htaccess这样做也是出于同样的原因.我认为最好的选择是匹配"/profile.php"然后在控制器中,检查查询字符串中是否存在"id"并相应地重定向.如果没有,我将重定向到404.
我正在研究RDTSC,并了解它是如何虚拟化虚拟机,如VirtualBox和VMWare.为什么Intel/AMD会遇到虚拟化此指令的麻烦?
我觉得它可以很容易地用陷阱来模拟它并不是一个超常用的指令(我测试过并且在禁用硬件RDTSC虚拟化的虚拟机中一般用法没有明显的减速).
但是,我知道英特尔/ AMD不会把这个指令添加到虚拟化硬件中,除非能够非常快速地执行它是很重要的.
有谁知道为什么?
这是一项作业,但我在基本理解方面遇到了问题。
易受攻击的代码:
int choc(char *arg)
{
char buf[400];
snprintf(buf, sizeof buf, arg);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我知道 arg 需要是一个格式字符串,它将用我要执行的代码的地址覆盖返回地址。但是我在创建格式字符串时遇到了问题。
因此,格式字符串需要具备的内容:
为了获得返回地址,我只需要查看gdb中'ret'指令的地址,对吗?%x 的目的究竟是什么?以及如何在格式字符串中对要执行的代码的地址进行编码?
我做的一个测试:使用gdb我发现我的buf的地址是0xbffffba0。我生成的 arg 为 "\xa0\xfb\xff\xbf_%x.%x.%n"; 这不应该在地址 0xbffffba0 处向 buff 的开头写入一些值吗?但是我得到了一个段错误。我究竟做错了什么?
任何帮助,将不胜感激!
我想创建自己的个人日志文件,不仅可以在我登录和退出时记录,还可以在我锁定/解锁屏幕时记录.有点类似/ var/log/wtmp类固醇.
为此,我决定在登录到后台运行的Ubuntu时运行脚本,直到我退出.我这样做的计划是将脚本添加到脚本中.bashrc,./startlogging.sh &并使用脚本trap来捕获信号.这很好,除了.bashrc每次打开一个新终端时运行,这不是我想要的记录器.
有没有办法告诉Bash当前登录是gnome登录?或者,有什么.gnomerc我可以用来运行我的脚本?
编辑:这是我的脚本:
编辑2:删除了脚本,因为它与问题无关.我将重新提出我的另一个问题,而不是重新利用这个问题.
我想创建一个日志文件,其中包含某些事件的日志,例如:
我的计划是编写一个脚本,作为 gnome 会话的子进程在后台运行。它将首先附加“LOGIN”,监视屏幕锁定/解锁,并在收到 SIGHUP 时附加“LOGOUT”(意味着会话结束)。
我写了一个脚本 [1],如果我在 shell 中启动它就可以工作,但它很笨重。我希望这个程序在后台运行——我不想每次登录时都要记住启动它。
有人可以指出我正确的方向吗?
[1] 脚本:
#!/bin/bash
# param $1: type, in:
# ["SCREEN_LOCKED",
# "SCREEN_UNLOCKED",
# "LOGIN",
# "LOGOUT",
# "SIGINT",
# "SIGTERM"]
function write_log {
if [ -z $1 ]; then
1="unspecified"
fi
echo -e "$1\t$(date)" >> "$LOG"
}
function notify {
echo "$@" >&2
}
function show_usage {
notify "Usage: $0 login <address> <logfile>"
notify "Parameters:"
notify " login: You must use the string 'login' to …Run Code Online (Sandbox Code Playgroud) 我想编写一个在后台运行并检测用户何时注销的脚本。我在 dbus-monitor 上找不到文档。我能做的最好的事情就是我看到一连串的EndSessionQuery, EndSession,EndSessionResponse但是这些都带有布尔值,因此不能完全信任它们(也许程序说它不希望用户注销?) ,如果没有程序打开怎么办?这太不靠谱了。
我想要的是监听用户注销时总会发生的信号。有人可以提供那个信号吗?目前我正在运行这个命令:
dbus-monitor --session \
"type='signal',interface='org.gnome.ScreenSaver',member='ActiveChanged'" | \
myprog
Run Code Online (Sandbox Code Playgroud)
它捕获 ScreenSaver 事件。但我也想赶上注销。我希望的是这样的:
dbus-monitor --session \
"type='signal',interface='org.gnome.Session',member='LogoutSuccess'" \
"type='signal',interface='org.gnome.ScreenSaver',member='ActiveChanged'" | \
myprog
Run Code Online (Sandbox Code Playgroud) 我正在使用MVC 3在C#中创建一个应用程序,我正在尝试了解免费(在Membership课堂上)内置的用户内容.
我想在我的网站上创建一个页面,其中列出了当前登录的每个用户.有没有办法轻松完成此操作?
我正在尝试遍历/proc我正在编写的实用程序中的每个进程(内核模块/fs/proc).问题是,我只看到根命名空间中的进程.我试图使用宏for_each_process从sched.h.
我可以键入ps一个shell并查看大量进程,但我的for_each_process循环看不到它们.是什么赋予了?
注意:我想知道它是否与某些事有关rcu_read_lock?我害怕放一个rcu_read_lock,我不知道应该去哪里.麻烦的是,我读到的文档似乎说在一个可抢占的内核(我的)中,睡在里面是非法的rcu_read_lock.我需要打电话down_read(mmap_sem),我害怕会睡觉.那意味着我不能用rcu_read_lock?
我正在学习使用Express.我想要做:
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set('view options', { layout: false }); /* asterisk */
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router); /* dagger */
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
app.use(express.logger('dev'));
app.set('view options', { pretty: true }); /* asterisk */
});
Run Code Online (Sandbox Code Playgroud)
我做的补充是:
有两个问题:
/* asterisk */当我设置'pretty:true'时,我会覆盖我以前的选项,而不是添加它们.即,我的程序会中断,除非我添加{ pretty: true, layout: false }哪些感觉多余并且不正确.我如何纠正它,以便我只是"修改"视图选项,而不是"定义"它们?
/* dagger */记录器不会确认我的请求,除了/favicon.ico.我发现如果我删除该app.use(app.router);行,那么我会看到两者/和/favicon.ico.这里发生了什么?
我试图在我的计算机上编目RDTSC指令的使用.我的第一个想法是运行我的/lib文件夹objdump并搜索RDTSC
$ for f in ls /lib/*; do echo "*** $f ***" && objdump -d $f | grep -n rdtsc; done > ~/tmp/out
Run Code Online (Sandbox Code Playgroud)
我注意到ld.2.11.1.so文件中存在很多RDTSC.我很确定它与动态库链接有关,但我不确定.我真正的问题是,如何找到源代码,以便查看RDTSC指令的用途?