- 抓包工具(四)Fiddler 的下载、安装、使用
swift开发pk OC开发
httpudphttpswebsocket网络安全网络协议tcp/ip
目录一、Fiddler的下载二、Fiddler的安装三、Fiddler的使用3.1基本用法3.2捕获HTTPS流量3.3过滤请求3.4修改请求3.5性能分析3.6代理功能3.7保存会话四、Sniffmaster抓包大师简介Fiddler是一款功能强大的抓包工具,广泛用于捕获和分析HTTP/HTTPS流量。它支持Windows平台,提供了丰富的功能,如:请求拦截、修改、性能分析等。本文将详细介绍Fi
- Vue3组件化开发(一)
独鹿DT
Vue2&Vue3vuevue.jsvue3组件化vue组件间通讯
Vue3组件化开发(一)组件的拆分和嵌套组件的CSS作用域问题组件通信(父传子)`props`的数组用法`props`的对象用法非prop的Attribute的传递子组件有根组件包裹禁用Attribute继承子组件无根组件包裹,且有多个元素组件通信(子传父)`emits`的数组写法`emits`的对象写法组件的拆分和嵌套这个我也不知从何写起,就这样拆分,引用。细节补充在引入其他组件时,加后缀。虽然
- vue3(笔记)5.0--pinia工具的知识扩展
不断努力的根号七
vue3笔记
pinia工具defineStore(创建pinia)作用:用于定义一个Piniastore。用法:接收一个唯一的ID和一个配置对象,配置对象中可以定义state、getters和actions。state是一个函数,返回初始状态。getters类似于Vue组件中的计算属性,用于派生状态。actions用于修改状态和执行异步操作。示例代码:import{defineStore}from'pinia
- python web flask g对象
笑得好虚伪
pythonflaskflaskpython前端
什么是g1.在flask中,有一个专门用来存储用户信息的g对象,g的全称的为global。2.g对象在一次请求中的所有的代码的地方,都是可以使用的。g的用法:导包:fromflaskimportg赋值:g.变量名1=值取值:变量名=g.变量名1
- [网安工具] SQL 注入自动探测工具 —— SQLMAP 使用手册
Blue17 :: Hack3rX
安全工具—网安工具手册sql网络安全数据库
想了解其它网安工具?看看这个:[网安工具]网安工具库——工具管理手册https://github.com/sqlmapproject/sqlmaphttps://github.com/sqlmapproject/sqlmap用法|sqlmap用户手册https://sqlmap.highlight.ink/usage0x01:SQLMAP工具简介SQLMap是一个自动化的SQL注入工具,其主要功能
- 22-javaScript基础(前端)
王宇辉
java知识体系javascript前端html
感谢你的路过,希望学生的笔记能给你一点微不足道的参考Java基础思维导图,完整Java体系的链接目录标题一,概述1.1什么是JavaScript?1.2JavaScript的作用?1.3JavaScript的历史(了解)?二,JavaScript的用法2.1HTML页面中的JavaScript2.2外部的JavaScript2.3标签属性中的JavaScript三,JavaScript显示数据四,
- 探索HTML5 Canvas:创造动态与交互性网页内容的强大工具
qq39138814
html5前端html
探索HTML5Canvas:创造动态与交互性网页内容的强大工具引言在HTML5的众多新特性中,Canvas无疑是最引人注目的元素之一。它为网页设计师和开发者提供了一个通过JavaScript和HTML直接在网页上绘制图形、图像以及进行动画处理的画布。Canvas的灵活性和强大功能,使得它成为创造动态、交互性网页内容的首选工具。本文将深入探讨HTML5Canvas的基本用法、应用场景以及如何利用它来
- 基础知识之Pod
叱咤少帅(少帅)
Kubernetesk8s
参考##知乎https://zhuanlan.zhihu.com/p/605962502什么是Pod?Pod是Kubernetes创建或部署的最小单位。一个Pod封装一个或多个容器(container)、存储资源(volume)、一个独立的网络IP以及管理控制容器运行方式的策略选项。Pod使用主要分为两种方式:Pod中运行一个容器。这是Kubernetes最常见的用法,您可以将Pod视为单个封装的
- 前端请求全面解析:AJAX、Axios 与 Fetch 的使用详解与代码示例
weixin_535033321
前端ajaxjavascript
前端请求全面解析:AJAX、Axios与Fetch的使用详解与代码示例前端请求全面解析:AJAX、Axios与Fetch的使用详解与代码示例1.AJAX——传统的异步请求1.1基本用法示例1.2AJAX特点2.FetchAPI——现代化请求方案2.1基本用法示例2.2Fetch特点3.Axios——第三方HTTP请求库3.1安装Axios3.2基本用法示例3.3Axios特点4.总结前端请求全面解
- Vue 3 模板引用(Template Refs)详解与实战示例
设计师晏军
vue.jsjavascript前端
Vue3模板引用(TemplateRefs)详解与实战示例引言在Vue开发中,通常推荐使用响应式数据(ref和reactive)进行数据绑定,而不是直接操作DOM。但是,在某些情况下,我们确实需要访问某个组件或DOM元素,这时候就可以使用模板引用(TemplateRefs)。本篇文章将详细介绍Vue3的ref模板引用的用法、适用场景,并通过多个示例展示如何在Vue组件中高效操作DOM和组件实例。1
- 玩转 Vue 3:自定义指令让页面魔法随心而动
设计师晏军
vue.jsjavascript前端
玩转Vue3:自定义指令让页面魔法随心而动玩转Vue3:自定义指令让页面魔法随心而动什么是自定义指令?全局注册示例:高亮效果指令注册自定义指令在组件中使用局部注册与高级用法局部注册示例小结玩转Vue3:自定义指令让页面魔法随心而动在Vue3中,自定义指令为我们提供了在模板中直接操作DOM的能力,不仅可以让我们的页面效果更炫酷,还能将一些通用逻辑抽离出来,做到代码复用。本文将带你了解Vue3自定义指
- python 二维列表去重_Python编码常用套路
weixin_39929793
python二维列表去重
1.循环遍历if__name__=='__main__':whileTrue:2.录入数据str1=raw_input()#通过split()将数据分割,并用map(int,list)将其存储n,k=map(int,str1.split())str2=raw_input()#分割后利用map将全部数据进行转换listA=map(int,str2.split())3.list的去重#因为set是去重
- uniapp中props的用法
Vae_Mars
uniappuni-app前端javascript
一、基本该概念Props是父组件向子组件传递数据的桥梁,子组件通过定义props接收父组件的数据二、定义方式1、简单类型定义(数组形式)//子组件定义props:['name','age']//父组件使用2、对象类型定义(推荐)props:{name:{type:String,default:'Guest',required:true},age:{type:Number,validator:(va
- 【QT】关于qcheckbox常用的三个信号,{sstateChanged(int) clicked() clicked(bool)}达成巧用
我不是程序猿儿
QT之路qt开发语言
在Qt中,QCheckBox是一个提供复选框功能的小部件,允许用户选择和取消选择一个或多个选项。QCheckBox提供了几种信号来响应用户的交互,其中stateChanged(int),clicked(),和clicked(bool)是常用的。下面解释这些信号的意义及其用法。1.stateChanged(intstate)这个信号在复选框的状态改变时发出。状态改变可以是用户交互(如点击复选框改变选
- Vue 3 中使用defineEmits
会飞的鱼先生
vue.jsjavascript前端
在Vue3中,defineEmits用于在组件中定义自定义事件,使得子组件可以向父组件发送数据。以下是defineEmits的基本用法子组件ChildComponent.vue//定义可以发射的事件constemits=defineEmits(['complexEvent']);//触发事件,向父组件发送数据consthandleEmit=()=>{emits('complexEvent','这是
- Spring Boot 中的 @ConditionalOnBean 注解详解
PsG喵喵
springbootjava后端
SpringBoot中的@ConditionalOnBean注解详解1.前言2.`@ConditionalOnBean`作用与基本用法2.1`@ConditionalOnBean`的作用2.2基本用法示例:当`DataSource`Bean存在时,才创建`MyService`Bean3.`@ConditionalOnBean`详解3.1`value`和`type`属性(指定Bean类型)3.2`n
- npm install 详解
2401_89793006
前端npm前端node.js
npminstall详解npminstall是Node.js包管理工具npm中最常用的命令之一。它用于安装项目所需的依赖包,并可以针对不同的场景提供多种选项和参数。以下是对npminstall的详细解析:基本用法1.安装单个包在当前项目的node_modules文件夹中安装指定的包,并将其添加到package.json的dependencies部分。npminstallpackage-name示例
- 字符串切割
无敌的贝利亚大王
Stringjava开发语言
案例需求:以字符串的形式从键盘录入学生信息,例如:"张三,23"从该字符串中切割出有效数据,封装为Student学生对象实现步骤:1.编写Student类,用于封装数据2.键盘录入一个字符串,用Scanner实现3.根据逗号切割字符串,得到(张三)(23)String[]split(Stringregex):根据传入的字符作为规则进行切割,将切割后的内容存入字符串数组中,并将字符串数组返回4.从得
- 疯狂安卓入门,crayandroid
耶耶耶耶耶~
其它androidjava
系列文章目录文章目录系列文章目录第一组ViewGroup为基类帧布局约束布局第二组TextView及其子类button时钟AnalogClock和TextClock计时器第三组ImageView及其子类第四组AdapterView及其子类AutoCompleteTextView的功能和用法ExapndaleListViewAdapterViewFlipperRecyclerView组件第五组UIP
- 2.Linux命令行界面(CLI)深度指南
道荣
网安的学习之旅linux网络安全
引言Linux命令行界面(CLI)是操作系统中功能强大的工具,尤其适用于系统管理员、开发者和高级用户。它提供了一种高效且灵活的操作方式。本文将详细介绍Linux中的常用命令,包括文件权限管理、系统维护、文本编辑和软件包处理等。目录引言文件权限与用户管理语言环境设置路径与文件系统导航系统命令与文件操作文件与目录管理文本编辑与查看文件操作进阶特殊情况下的复制与移动文件压缩与解压bzip2压缩gzip压
- ia-32汇编笔记
simanstar
汇编语言汇编汇编语言32位
1汇编语言中test的用法为举例方便说一下jnz和jz测试条件JZZF=1JNZZF=0即Jz=jumpifzero(结果为0则设置ZF零标志为1,跳转)Jnz=jumpifnotzerotest属于逻辑运算指令功能:执行BIT与BIT之间的逻辑运算测试(两操作数作与运算,仅修改标志位,不回送结果).Test对两个参数(目标,源)执行AND逻辑操作搜索,并根据结果设置标志寄存器,结果本身不会保存。
- MATLAB中字符变量(char)和字符串变量(string)的异同
TifLil
MATLAB知识点matlab
文章目录MATLAB中字符变量(char)和字符串变量(string)的异同1.表现形式上2.相同用法3.差异4.两者转换MATLAB中字符变量(char)和字符串变量(string)的异同1.表现形式上在MATLAB的显示当中,char变量是用单引号,而string变量用的是双引号。c='char';%字符s="string";%字符串2.相同用法在很多需要字符串变量的地方,例如disp、fpr
- timeGetTime()函数的用法
凯酱
java
timeGetTime()函数函数以毫秒计的系统时间。该时间为从系统开启算起所经过的时间。在SDK中,可以用DWORDtimeGetTime(VOID)函数获取系统时间,其返回值是毫秒单位的。可以用其实现延时功能的函数。```javascript//Anhighlightedblockvarfoo='bar';注:在使用timeGetTime()函数之前应先包含头文件#include或#inclu
- 运动仿真——phased.Platform
TifLil
phasedArray工具箱MATLAB知识点matlab
在雷达仿真过程中,运动仿真的必要性,以及运动仿真可以实现哪些功能,在matlab对应的userguide中已经讲的很清楚了,这里不再赘述。本文主要介绍phased.Platform的一些“坑”,和典型的用法。第一坑:系统对象机制系统对象(systemobject)在调用的时候,返回当前的状态值,并计算下一状态值存储在系统对象中,直到调用release函数复位。假如仿真的时间步长为T,第一次调用系统
- AnythingLLM的API接口用法
@听雨声
java前端数据库
一、验证API密钥是否有效 curl-X'GET'\ 'http://服务器IP:3001/api/v1/auth'\ -H'accept:application/json'\ -H'Authorization:BearerG0xxx-xxx-xxx-xxxB3'请求:1、请求方法:GET2、请求地址:'http://服务器IP:3001/api/v1/auth'3、请求头:'accept:app
- Vue.js 学习之旅:方法与收获全记录
.923
vue.js学习前端
一、Vue.js学习之法Vue.js官方文档:核心概念与用法详解Vue.js的官方文档是学习过程中不可或缺的宝藏,它涵盖了从基础到高级的所有知识内容。首先,要深入理解Vue.js的响应式原理,它通过数据劫持结合发布-订阅模式,能够自动追踪数据的变化,并实时更新与之绑定的DOM元素。例如,当你在Vue实例中定义了一个data属性,像data:{message:'HelloVue!'},只要messa
- Leetcode刷题笔记1 图论part03
平乐君
leetcode笔记图论
卡码网101孤岛总面积fromcollectionsimportdequedirections=[[0,1],[1,0],[0,-1],[-1,0]]count=0defmain():globalcountn,m=map(int,input().split())grid=[]for_inrange(n):grid.append(list(map(int,input().split())))fori
- 【后端】【Django】【ORM】SearchFilter 详解
患得患失949
django知识djangosqlite数据库
SearchFilter详解SearchFilter是DjangoRESTFramework(DRF)提供的一个过滤器,用于在ModelViewSet视图集中支持搜索功能。它允许用户通过URL查询参数(默认search)对多个字段进行模糊匹配。一、基本用法(1)启用SearchFilter默认情况下,ModelViewSet并不会自动支持搜索功能,必须显式启用SearchFilter:fromre
- 12. Linux中vim和nano的用法
K2SO4钾
问题集linuxvim运维
这个专栏记录我学习/科研过程中遇到的一些小问题以及解决方案,一些问题可能比较蠢请见谅。自用,仅供参考。------------------------------------------------------------------------------------Linux中vim和nano的用法这个例子中,我们将分别使用vim和nano打开一个可写文件、添加文本、保存退出。1.vimvim
- URL 模块在 Node.js 中的用法详解
DevScribe
node.js编程
Node.js的URL模块提供了一组用于解析和操作URL的实用工具。它允许开发人员通过简单的API对URL进行解析、构建和修改。本文将详细介绍URL模块的用法,并提供相应的源代码示例。引入URL模块要使用URL模块,首先需要在代码中引入它。可以使用以下代码将URL模块导入到你的脚本中:consturl=require('url');解析URLURL模块提供了url.parse()方法,用于解析UR
- Algorithm
香水浓
javaAlgorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
- mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
- Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvmjboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
- 文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
- 怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
- 判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
- 一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
- MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
- 一个简单的存储过程
asialee
mysql存储过程构造数据批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
- annot convert from HomeFragment_1 to Fragment
百合不是茶
android导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
- Weblogic10两种修改端口的方法
bijian1013
weblogic端口号配置管理config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
- mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
- 【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
- ajax 三种提交请求的方法
BlueSkator
Ajaxjqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
- mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
- 编程之美-最短摘要的生成
bylijinnan
java数据结构算法编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
- json数据解析及typeof
chengxuyuancsdn
jstypeofjson解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
- 流程系统设计的层次和目标
comsci
设计模式数据结构sql框架脚本
流程系统设计的层次和目标
- RMAN List和report 命令
daizj
oraclelistreportrman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
- 二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
- C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
- 自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
- MySQL查询语句练习题,测试足够用了
flyvszhb
sqlmysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
- 转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
- 让程序员少走弯路的14个忠告
jingjing0907
工作计划学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
- nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
- 第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- FAQ - SAP BW BO roadmap
blueoxygen
BOBW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
- 关于java堆内存溢出的几种情况
tomcat_oracle
javajvmjdkthread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
- Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D