朋友你好,想要同时获得SE_DEBUG_NAME权限和SE_REMOTE_SHUTDOWN_NAME权限只需要再上面的函数基础上再写一个函数就可以了,把上面函数的SE_DEBUG_NAME改成SE_REMOTE_SHUTDOWN_NAME就可以了:
void
AjustPrivilege2()
{
HANDLE
hToken;
TOKEN_PRIVILEGES
pri;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_REMOTE_SHUTDOWN_NAME,&priPrivileges[0]Luid);
priPrivilegeCount=1;
priPrivileges[0]Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&pri,sizeof(pri),NULL,NULL);
}
AjustPrivilege();
//调用AjustPrivilege得到SE_DEBUG_NAME权限
AjustPrivilege2();
//调用AjustPrivilege2得到SE_REMOTE_SHUTDOWN_NAME权限
这样两个权限你就同时获得了!
注意1:你的程序必须是以管理员身份运行的才可以获得SE_DEBUG_NAME权限和SE_REMOTE_SHUTDOWN_NAME权限
注意2:SE_REMOTE_SHUTDOWN_NAME权限用于关闭远程计算机,在你关闭远程计算机之前必须先登录到远程计算机(通过远程计算机的管理员用户名和密码),不然的话就算你获得了SE_REMOTE_SHUTDOWN_NAME权限也无法关闭远程计算机。
在Redis中按session存储token可以将token作为键,sesssionId作为值存储。首先需要创建一个包含session id的键,例如 "session:1",然后将token与此键进行关联,例如 "token:xxxxxxxxx"。这样就可以使用Redis来存储和获取token的 *** 作,同时确保与session id相关的所有token都属于该session id。在此基础上,还可以设置token在Redis中的过期时间,以保证安全性和快速的检索。此外,通过使用Redis支持的事务,可以保证在存储和获取token的过程中,具有原子性和数据一致性,提高了系统的可靠性和性能。
一
1 首先要了解的是什么是URL和Token,
在这里,URL就是放置了接口程序的网址,这个网址一般得是你自己的服务器或空间地址。你自己在这个空间上某个目录已经有接口程序了,你知道这个接口程序在互联网上的访问地址是什么。而Token就是一个令牌,该令牌是个数字或字母形式的字符串,用于微信服务器与你的服务器进行通讯的时候的身份验证。防止非法数据来搞乱。
2 然后要了解的是开发模式为什么要使用Url和Token,
使用url是为了让微信服务器和你的服务器进行通讯对话,从而达到开发模式下自动回复的目的。而实现这个通讯,必须有相应的程序为你完成这个功能,而这个程序必须已经开发完成并且放置于url路径下面,当你填写完url和token的时候,微信服务器就会和你的服务器下的程序进行一次认证过程,认证通过表明这个服务器是你的并且程序没有问题。不然你填个不存在的url或者url下面个没有相应的接口功能,那是通不过的。
3那么如何处理如下问题”token验证失败”
valid(); class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature()){ echo $echoStr; exit; } } public function responseMsg() { //get post data, May be due to the different environments $postStr = $GLOBALS[">
前言
一天,你有个需求,你要去超市买一瓶可乐。 到了超市买了可乐,你告诉售货员,下次给我准备下雷碧,我下次来拿。 第二次,你去超市拿雷碧,售货员说他不记得你什么时候说要准备雷碧。 这次你学聪明了,售货员给你写了个纸条,上面有超市的章印,下次你带着纸条来,买上了超市 给你准备的雷碧
cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据。跟服务器没啥关系,仅仅是浏览器实现的一种数据存储功能。
cookie由服务器生成,发送给浏览器,浏览器把cookie以KV形式存储到某个目录下的文本文件中,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间。所以每个域的cookie数量是有限制的。
不管你是请求一个资源文件(如html/js/css/), 还是发送一个ajax请求, 服务端都会返回response而response header中有一项叫set-cookie, 是服务端专门用来设置cookie的;
HTML5提供了两种本地存储的方式 sessionStorage 和 localStorage;
在上面我们了解了什么是Cookie,既然浏览器已经通过Cookie实现了有状态这一需求,那么为什么又来了一个Session呢?这里我们想象一下,如果将账户的一些信息都存入Cookie中的话,一旦信息被拦截,那么我们所有的账户信息都会丢失掉。所以就出现了Session,在一次会话中将重要信息保存在Session中,浏览器只记录SessionId一个SessionId对应一次会话请求。
这里我们写一个新的方法来测试Session是如何产生的,我们在请求参数中加上>
在页面上添加csrf token的存放域
<meta name="csrf-token" content="{{ csrf_token() }}">然后在ajax请求头上把csrf token传进去
$ajaxSetup({headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]')attr('content')
}
});
laravel官方文档的csrf章节有详细的示例
唯直接获取User
Token用户导向eBay登录界面并提供RunameSessionID类参数您发移应用程序提供功能考虑使用别例提供server应用用户导向登录界面Token再发送给移应用
以上就是关于如何利用AdjustTokenPrivileges函数把程序权利提升到SE_SHUTDOWN_NAME全部的内容,包括:如何利用AdjustTokenPrivileges函数把程序权利提升到SE_SHUTDOWN_NAME、redis怎么按session存token、怎么处理微信"token验证失败”等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)