草庐IT

pre-commit-hook

全部标签

php - 在 CodeIgniter 2.1.0 的 Hook 中使用 session 数据

我使用的是2.1.0版的CodeIgniter。我想使用Hooks进行登录认证。这意味着我希望在每个Controller中检查session数据是否登录。所以我想使用钩子(Hook)。为此,我执行了以下代码:在配置文件中$config['enable_hooks']=TRUE;在文件hooks.php$hook['post_controller_constructor'][]=array('class'=>'SessionData','function'=>'initializeData','filename'=>'loginHelper.php','filepath'=>'hooks

php - Magento:在 pre_dispatch 观察者中停止调度

我想影响产品渲染(将$params传递给Mage_Catalog_Helper_Product_View::prepareAndRender())并在controller_action_predispatch_catalog_product_view事件上注册了一个观察者.呈现工作正常,但原始的catalog/product/view操作仍在执行,因此显示了两个产品。如何在预调度观察器期间停止调度? 最佳答案 请求的dispatched字段必须为真必须将前面操作的FLAG_NO_DISPATCH标志设置为true在代码中(内部观察者

java - 如何基于注释 Hook 自定义编译器逻辑

我想定义一些注释,允许在编译期间报告额外的警告/错误(在概念上类似于@Nullable和@NotNull注释IntelliJ).我希望能够编写一些编译器Hook,这些Hook也将基于这些属性添加我的编译逻辑。如果可能的话,我想要一个通用的钩子(Hook),但是因为我们使用的是Eclipse-如果我们有那个能力也会有好处。我想知道:这可能吗?(以上任何选项)我从哪里开始?到目前为止,我在注释方面几乎没有经验,所以如果我以错误的方式解决这个问题-我想知道这一点,如果可能的话,获得更好的指导。谢谢。 最佳答案 为此,您可以使用JavaAn

java - 是否可以在 @Pre/PostPersist 监听器中保留新实体?

我正在尝试设置我的hibernate应用程序以在每次创建Activity实体时都保留一个新的Notification实体-目前,我已经尝试了通知只是无法静默地持续存在(日志中没有错误,但永远不会执行sql)。谁能确认甚至可以在Hibernatepre/postPersist监听器中持久化其他实体?我已阅读文档:AcallbackmethodmustnotinvokeEntityManagerorQuerymethods!但我已经阅读了其他几个似乎表明这是可能的讨论主题。作为引用,我尝试过的两种方法是:@PrePersist方法-在Activity和Notification之间设置一个c

.net - Hook 来自托管代码的 LoadLibrary 调用

我们想Hook对LoadLibrary的调用,以便下载未找到的程序集。我们有一个处理托管程序集的ResolveAssembly处理程序,但我们还需要处理非托管程序集。我们已尝试通过使用“MicrosoftWindows应用程序编程”中指定的技术重写导入表来HookLoadLibrary调用,但是当我们调用WriteProcessMemory()时,我们会遇到权限被拒绝的错误(998)。(是的,我们正在以提升的权限运行)有没有人在加载CLR时成功地重写了导入表?谁能指出我正确的方向?更新:我们解决了权限被拒绝的问题,但现在当我们迭代混合程序集(托管+非托管)的导入表时,我们找到的唯一条目

c++ - 如何在 pre-lambda 编译器中处理 lambda

我有一些代码可以通过使用lambda大大降低复杂性。然而不幸的是,我们不得不使用一个不完全支持C++11的编译器,我们不能轻易切换。现在的问题是如何使逻辑尽可能接近具有不可用功能的lambda表达式(即std::function可用,lambda不可用)。通常的解决方案是在其他地方定义仿函数,然后在适当的地方使用它:structfunctor{functor(type&member):m_member(member){}voidoperator()(...){...}type&m_member;};voidfunction(){use_functor(functor(...));}我很

c++ - 如何检测API Hook?

我一直在尝试检测APIHook、inline和EAThook。目前我没有找到任何关于如何检测EAThook的信息。对于InlineRing3hook,我目前拥有的是:FARPROCAddress=GetProcAddress(GetModuleHandle("kernel32.dll"),"ExitProcess");if(*(BYTE*)Address==0xE9||*(BYTE*)Address==0x90||*(BYTE*)Address==0xC3){printf("Apihooked\n");}问题是有几个操作码可用于Hook/更改函数的序言,检查JMP/NOP/RET是微不

c++ - COM 对象函数上的 API Hook ?

问候StackOverflowians,如发现here,Windows7有一个错误,其中DISPID_BEFORENAVIGATE2事件不会为Windows资源管理器实例触发。这个事件允许shell扩展在导航即将发生时得到通知,并且(对我来说最重要的是)有机会取消导航。我一直在寻找解决方法很长一段时间,我想我找到了一个。但是,我想就它的安全性征求一些意见。我最近一直在玩APIHook,我已经在用它来Hook我的扩展的一些功能。我注意到有一个functioninIShellBrowser控制导航。起初我以为你不能Hook那样的东西,但在阅读了layoutofaCOMobject之后我意识

c++ - _CRT_DEBUGGER_HOOK 抛出异常

我在将我的程序从VS2005转换到VS2008时遇到问题。当我运行时VS2008中的程序,应用程序启动正常,但开始播放时围绕它崩溃的应用程序给我这个错误:“MicrosoftVisualStudioC运行时库检测到fatalerror”然后调试器将我指向这个函数:__declspec(noinline)void__cdecl_CRT_DEBUGGER_HOOK(int_Reserved){/*assign0to_debugger_hook_dummysothatthefunctionisnotfoldedinretail*/(_Reserved);_debugger_hook_dumm

C++0x、编译器钩子(Hook)和硬编码语言特性

我对C++0x的一些新特性有点好奇。特别是range-basedforloops和initializerlists.这两个功能都需要用户定义的类才能正常运行。我遇到了thispost,虽然最佳答案很有帮助。我不知道它是否完全正确(我可能完全误解了,请参阅第一个答案的第3条评论)。根据currentspecifications对于初始化列表,header定义了一种类型:templateclassinitializer_list{public:initializer_list();size_tsize()const;//numberofelementsconstE*begin()const