首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

高并发的常用策略

缓存的更新方式有2种: 主动更新,数据库记录发生变化时,主动更新缓存数据。 被动更新,读缓存时,如果缓存过期,就更新缓存。 缓存需要注意的3个问题: 缓存雪崩。...master处理写请求,数据同步更新到slave上,slave就相当于master的缓存,所有读请求都访问slave,分担了master的压力,slave的数量还可以扩展,提升处理能力。...为了满足高并发的查询请求,可以采用重写轻读,提前为每个用户准备一个收件箱。 每个用户都有一个收件箱一个发件箱。...策略2:异步 示例1:短信验证码 调用短信平台发送一条短信大概需要2、3秒,如果同步调用的话,应用服务器会被阻塞,并发高时就崩溃了。...可以采用异步方式,应用服务器收到发短信的请求后,放到消息队列,立即返回。后台程序从队列读取消息,去调用第三方短信平台发送验证码。

1.9K20

Android开发笔记(五十四)数据共享接口ContentProvider

delete : 删除数据。 getType : 获取数据类型。 实际开发中,APP很少会开放数据接口给其他应用,所以ContentProvider类作为服务端接口反而基本用不到。...Content组件中能够用到的场合,基本上是APP想要使用系统的手机通讯数据,比如查看联系人/短信/彩信/通话记录,以及对这些通讯信息进行增删改。...类似的场景在系统APP中也存在,比如流量监控APP向运营商发送流量校准短信,此时APP也得自动拦截短信来获取流量信息。...下面是与短信有关的Uri分类说明: 收件箱: Telephony.Sms.Inbox.CONTENT_URI   content://sms/inbox 已发送: Telephony.Sms.Sent.CONTENT_URI...  content://sms/outbox 发送失败: content://sms/failed          待发送列表(比如开启飞行模式后,该短信就在待发送列表里): content

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

走进科学:对七夕“超级病毒”XX神器的逆向分析

乍一看,似乎除了声明了发送短信读取联系人的权限比较可疑,没其他什么特点。组件部分也只有Activity,没有Service,没有BroadcastReceiver,并不具备木马特征。...不难判断出ReadAllMessage的目的是读取所有短信,ReadCONTACTS则是读取通话记录。...木马通过监视短信收件箱,当手机收到短信时将其截获,并且发送到181****7397这个号码。 继续看: ?...该短信共有5个操作命令: readmessage:发送邮件命令,启动MySendEmailService,将收件箱发件箱的短信以邮件形式发送 sendmessage:发送短信命令,能控制该手机发送任意短信到任意号码...在此明晰了该木马的大体架构,该木马利用指定号码发送短信,控制肉鸡将隐私信息以邮件形式发送到自己的邮箱。

73950

周末小技 | 开发一个Feeds流系统——写扩散模式

又叫做收件箱,每个用户能看到的消息都会被存储到收件箱中 个人页Timeline 展示自己发送过的Feed消息的页面,比如微信中的相册,微博的个人页等 又叫做发件箱,自己发布的消息都会被记录到自己的发件箱中...别人的收件箱内的消息,也是从他的各个关注人的发件箱内同步过来的。 写扩散 一种消息同步方式,用户发布消息后,消息被记录到用户的发件箱中,此时立刻将发件箱内的消息同步给所有用户。...6.用户查看订阅的消息流(Feeds流):用户可以以timeline的形式查看所有订阅的消息源发布的消息。消息的删除更新,都会实时被用户感知到。...这里一般有三种方案:读扩散,写扩散读写结合。 读扩散:订阅者读取最新收件箱消息的时候,订阅者主动去查询关注的人的发件箱,遍历所有的人,获取所有的消息,然后更新到自己的收件箱中。...写扩散:发布者发布消息后,立刻将自己的消息同步给他所有的粉丝的收件箱中。 读写结合:由于Feeds流是读多写少的场景,所以一般情况下,我们采用写扩散,系统的性能会比读扩散要好。

1.2K20

Uniapp、Html5plus、Native.js开发记录

Android的四大组件之一的Activity(活动):Activity是一个应用程序的组件,他在屏幕上提供了一个区域,允许用户在上面做一些交互性的操作, 比如打电话,照相,发送邮件,或者显示一个地图!...Android程序员把“场景”抽象为Context类,他们认为用户操作系统的每一次交互都是一个场景....机中短信数据库相关字段包括: _id:短信序号,如100 address:发件人地址,即手机号,如+8613811810000,这里需要注意的是手机号是否加+86,可以加上86不加86分别测试下...:短信具体内容 读取短信内容的uri为: Uri uri = Uri.parse(“content://sms”); //读取所有短信 Uri uri = Uri.parse(“content://sms.../inbox”); //读取收件箱短信 2022-11-06 1.uts uts,全称 uni type script,是一门跨平台的、高性能的、强类型的现代编程语言。

2.8K50

CEMAPI实战攻略(二)——建立与短信信箱的连接

同时,该函数有五个参数,这五个参数分别表示,短信(邮件)系统登陆UI的现实方式以及Session的共享方式,配置文件的文件名,邮箱密码,编码方式(默认)指向IMAPISession接口指针的指针,对于短信应用程序的开发...这里面涉及到了两个常量符号,PR_ENTRYIDPR_DISPLAY_NAME,这两个符号分别表示对象ID显示名称,这里所说的对象可以是短信(邮件)存储仓库,也可是具体信箱Folder,还可以是短消息本身...有了表格,有了记录的结构,下一步要做什么应该很容易就能想到。Yes ,取表格中的所有记录,并且遍历这些记录,查找显示名称(PR_DISPLAY_NAME)为SMS的记录。...现在我们已经获取短信邮件系统中的所有短信邮件仓库了,下面要做的就是找到显示名称为SMS的那个MsgStore仓库,并获去指向该仓库的对象指针。还记得Columns这个动态结构体变量吗?...与某一具体信箱建立连接,获取具体信箱接口IMAPIFolder对象 获取具体信箱IMAPIFolder对象要比获取IMsgStore对象容易很多,因为在短信仓库MsgStore下,只有收件箱,发件箱,

58520

比较全的OA系统功能模块列表

、待发邮件、已删除邮件自建邮件箱管理 独特的数据结构设计,使得群发内部邮件时的存储空间占用极小,发几百封邮件,只占用一份附件空间,极大的节约了服务器资源,提高了发送速度 实现了邮件反悔功能,收件人未读情况下...实现各个功能模块的实时短信提醒功能,无发送费用,支持一键已阅、一键查看所有提醒详情 支持离线文件管理 支持即时通讯群组以及临时讨论组管理 智能协同: 可实现临时性任务建立,任务分解与监控...支持对已经忽略的任务恢复及删除 支持对已经推迟的任务恢复及再推迟 集直观美观于一体的现代风格倒计时牌显示 手机短信 配合通达短信服务器软件,使用专用短信mao设备发送短信,快速稳定,无需联接互联网使用...支持群发手机短信,后台发送,前台可执行其他操作,无需等待发送完毕 支持手机短信回复到OA系统,可按指定格式转化为内部短信 与OA主要模块关联,实现邮件、通知、工作流、工资条等模块的手机短信提醒...统一管理发送与接收到的短信,可作为短信呼叫中心使用 移动客户端 移动版客户端(Android/iOS),实现无线移动办公 提供邮件、公告、工作流、微讯等模块功能,随时查阅办公数据 支持自定义多种网络环境

6.9K100

Android自动化测试中短信验证码的操作技巧

Android自动化测试中短信验证码的操作技巧 一、内容提供器机制简介 Android 系统采用了内容提供器(ContentProvider)机制来管理不同应用的数据访问。...内容提供器为不同应用间的数据共享提供了接口,它们像是一个中央数据仓库,各个应用可以通过内容 URI 来存取数据。每条短信都会被存储在内容提供器的SMS ContentProvider中。...二、获取方式介绍 获取短信验证码主要有两种方式: 通过 adb shell content 命令查询内容提供器,直接获取短信信息。...编写 Android 程序,通过 Android SDK 提供的 API 查询内容提供器。本文主要介绍第一种方式,即通过 adb 命令获取短信验证码。...六、注意事项 小部分 Android 系统版本需要开启 adb shell 的 root 权限,才能查询短信内容提供器 如果有多个发送发送了验证码短信,需要额外加入限制,仅获取指定发送方的短信 短信内容提供器的数据以时间倒序排序

61450

Android总结篇系列之Permission

应用删除时广播 android.permission.BROADCAST_PACKAGE_REMOVED 当一个应用在删除时触发一个广播 收到短信时广播 android.permission.BROADCAST_SMS...读取帧缓存用于屏幕截图 读取收藏夹历史记录 com.android.browser.permission.READ_HISTORY_BOOKMARKS 读取浏览器收藏夹历史记录 读取输入状态...结束任务通过restartPackage(String)方法,该方式将在外来放弃 发送短信 android.permission.SEND_SMS 发送短信 设置Activity观察其...允许程序写入外部存储,如SD卡上写文件 写入Google地图数据 android.permission.WRITE_GSERVICES 允许程序写入Google Map服务数据 写入收藏夹历史记录...允许程序读写系统安全敏感的设置项 读写系统设置 android.permission.WRITE_SETTINGS 允许读写系统设置项 编写短信 android.permission.WRITE_SMS

2.3K31

Android6.0权限大全权限分类

,读取帧缓存用于屏幕截图 读取收藏夹历史记录 com.android.browser.permission.READ_HISTORY_BOOKMARKS,读取浏览器收藏夹历史记录 读取输入状态 android.permission.READ_INPUT_STATE...,允许程序写入Google Map服务数据 写入收藏夹历史记录 com.android.browser.permission.WRITE_HISTORY_BOOKMARKS,写入浏览器历史记录或收藏夹...,允许读写系统设置项 编写短信 android.permission.WRITE_SMS,允许编写短信 写入在线同步设置 android.permission.WRITE_SYNC_SETTINGS,写入...,读取帧缓存用于屏幕截图 读取收藏夹历史记录 com.android.browser.permission.READ_HISTORY_BOOKMARKS,读取浏览器收藏夹历史记录 读取输入状态 android.permission.READ_INPUT_STATE...,允许程序写入Google Map服务数据 写入收藏夹历史记录 com.android.browser.permission.WRITE_HISTORY_BOOKMARKS,写入浏览器历史记录或收藏夹

1.8K30

Android Manifest 权限描述大全对照表

应用删除时广播 当一个应用在删除时触发一个广播 android.permission.BROADCAST_SMS 收到短信时广播 当收到短信时触发一个广播 android.permission.BROADCAST_STICKY...屏幕截图 读取帧缓存用于屏幕截图 com.android.browser.permission.READ_HISTORY_BOOKMARKS 读取收藏夹历史记录 读取浏览器收藏夹历史记录 android.permission.READ_INPUT_STATE...发送短信 发送短信 android.permission.SET_ACTIVITY_WATCHER 设置Activity观察其 设置Activity观察器一般用于monkey测试 com.android.alarm.permission.SET_ALARM...写入浏览器历史记录或收藏夹,但不可读取 android.permission.WRITE_SECURE_SETTINGS 读写系统敏感设置 允许程序读写系统安全敏感的设置项 android.permission.WRITE_SETTINGS...读写系统设置 允许读写系统设置项 android.permission.WRITE_SMS 编写短信 允许编写短信

1K40

隐私合规综合实践

①用户在点击隐私政策协议“同意”按钮前,APPSDK不能调用系统的敏感权限接口,特别是能获取IMEI、IMSI、MAC、IP、Android、已安装应用列表、硬件序列表、手机号码、位置等等信息的系统接口...如下所示,频繁读取敏感权限也会触发合规android.permission.READ_CALL_LOG:读取通话记录android.permission.WRITE_CALL_LOG:写通话记录android.permission.READ_CONTACTS...:开机自启动android.permission.SEND_SMS: 发送短信android.permission.RECEIVE_SMS:接受收短信android.permission.READ_SMS...:读取短信5.7 底层依赖库权限说明针对申请隐私权限需要弹窗说明比如以前可以在app启动的时候,一下子申请完所有权限。...筛查范围记录APP内客户端/fe发起的接口请求,建议各APP先彻底筛查一遍,排除隐患,后续迭代版本例行筛查F0功能或新增功能即可。

1.8K30

Android手机App安全漏洞整理(小结)

”/ ………… 在上面这段代码中,滥用了一个没有进行适当权限保护的broadcast receiver,由于这个组件缺乏权限保护,使得攻击者可以在没有发送短信权限的情况下发送短信,这个漏洞的危害在于...,攻击者可以在用户不知情的情况下发送短信去订购一个付费服务,或者泄漏设备中的信息。...可以用drozer来寻找一些不需要权限的contentprovider: dz runapp.provider.info –permission null 这条命令能列出所有不需要任何读写权限的Content...在某些情况下,设置执行读写权限不当,也会将ContentProvider中的数据暴露给攻击者。...(2)敏感权限调用 在Manifest文件中调用一些敏感的用户权限,敏感行为包括发送、拦截短信,读取、修改通讯录、通话记录,拨打电话,发送地理位置,使用摄像头,访问浏览器历史记录等。

2.3K30

Android安全几道入门题目

阅读本文,你可能需要了解android逆向的基本知识常用工具、非常简单的java语言、smali的语法知识。本文适合android入门初学者,最基本的东西。大佬请无视!...一、短信欺诈漏洞 Android系统有一套比较完善的安全体系,权限管理就是其中的一部分。当应用需要操作敏感数据时,需要申请相应的权限。 该系统漏洞能够使攻击者无需申请任何权限发送短信到用户收件箱。...出现该漏洞的原因是Android系统的com.android.mms.transaction.SmsReceiverService系统服务未判断启动服务的调用者,攻击者可以通过该应用发送伪装短信到用户收件箱...理解了原理以后基本上查阅一下资料基本上就很简单了,通过查阅资料得到以下两个是短信发送代码中关键的两个点:(详细的apk源码apk见附件第一题) 1、构造短信发送代码: ?...(事实证明如果直接将篡改过的classes.dex拖进去是不可以的) 2) 用7z打开原APK包,删除其中的classes.dex,保存退出7z。

1.8K50

android 权限列表

允许一个程序写入但不读取所有者数据 android.permission.WRITE_SMS 允许程序写短信 android.permission.ACCESS_MOCK_LOCATION 允许程序创建模拟位置提供用于测试...,当一个应用在删除时触发一个广播 收到短信时广播 android.permission.BROADCAST_SMS,当收到短信时触发一个广播 连续广播 android.permission.BROADCAST_STICKY...,读取帧缓存用于屏幕截图 读取收藏夹历史记录 com.android.browser.permission.READ_HISTORY_BOOKMARKS,读取浏览器收藏夹历史记录 读取输入状态 android.permission.READ_INPUT_STATE...,允许程序写入Google Map服务数据 写入收藏夹历史记录 com.android.browser.permission.WRITE_HISTORY_BOOKMARKS,写入浏览器历史记录或收藏夹...,允许读写系统设置项 编写短信 android.permission.WRITE_SMS,允许编写短信 写入在线同步设置 android.permission.WRITE_SYNC_SETTINGS,写入

1.7K30

feeds流系统设计概述

又叫做收件箱,每个用户能看到的消息都会被存储到收件箱中 个人页Timeline 展示自己发送过的Feed消息的页面,比如微信中的相册,微博的个人页等 又叫做发件箱,自己发布的消息都会被记录到自己的发件箱中...消息的删除更新,都会实时被用户感知到。Feeds流的翻页问题:用户翻页Feeds流的时候,不管Feeds流更新了多少内容,此时都是沿着最后一次看到的信息往下看。...拉取后,需要记录当前拉取到了写信箱的 write_last_id,多少个关注就要记录了多少个 write_last_id。...(重新写入所有粉丝的收件箱) 针对活跃用户进行用户分级: 基于日活/月活来判断一个用户是否是活跃用户, 甚至可以维护一个活跃级别 譬如月内活跃为一级,收件箱长度保留100条。...extra_info 扩展信息 用于业务扩展需求, 存储 json sender_id 发送人 create_at 发送时间 modify_at 修改时间 收/发件箱使用 redis zset

18830

Android各类权限意思祥解

允许程序删除缓存文件 27. android.permission.DELETE_PACKAGES     允许一个程序删除包 28. android.permission.DEVICE_POWER...    允许程序读取所有者数据 58. android.permission.READ_SMS     允许程序读取短信息 59. android.permission.READ_SYNC_SETTINGS...允许程序监控一个将收到短信息,记录或处理 65. android.permission.RECEIVE_WAP_PUSH     允许程序监控将收到WAP PUSH信息 66. android.permission.RECORD_AUDIO...    允许程序重新启动其他程序 69. android.permission.SEND_SMS     允许程序发送SMS短信 70. android.permission.SET_ACTIVITY_WATCHER...    允许程序请求发送信号到所有显示的进程中 82. android.permission.STATUS_BAR     允许程序打开、关闭或禁用状态栏及图标 83. android.permission.SUBSCRIBED_FEEDS_READ

1.4K90

维基解密更新:CIA新工具HighRise可轻松窃取安卓设备短信

有很多IOC 工具可以利用短信在植入的APP监听 POST之间进行通信,而 HighRise 相当于一个SMS短信代理,将“收到”“发出”的 SMS短信息代理到互联网LP中,进而在目标设备监听站(...根据维基解密的揭秘的 CIA HighRise 工具手册,HighRise 目前只在安卓 4.0 到 4.3 版本上运行 (包括 Android 4.0 冰激凌三明治 Android...HighRise 的运作方式 一般来说,恶意软件通过内部连接把从被入侵设备中盗取的信息发送给由攻击者控制的服务器(监听站),但在智能手机的案例中,恶意软件也能通过发送短信等方式将被盗数据传给攻击者。...)——允许操作者从手机端向 CIA 控制的远程服务器发送短信。...向CIA控制的联网服务器发送手机收件箱所有信息; 2. 通过 HighRise 主机从被入侵的手机端发送SMS消息; 3. 为HighRise 操作者监听站之间提供通信信道; 4.

1.1K60

维基解密本周更新: CIA Vault 7系列新工具HighRise出现,你的短信分分钟能被窃取

有很多IOC 工具可以利用短信在植入的APP监听 POST之间进行通信,而 HighRise 相当于一个SMS短信代理,将“收到”“发出”的 SMS短信息代理到互联网LP中,进而在目标设备监听站(...根据维基解密的揭秘的 CIA HighRise 工具手册,HighRise 目前只在安卓 4.0 到 4.3 版本上运行 (包括 Android 4.0 冰激凌三明治 Android 4.1 果冻豆版本...HighRise 的运作方式 一般来说,恶意软件通过内部连接把从被入侵设备中盗取的信息发送给由攻击者控制的服务器(监听站),但在智能手机的案例中,恶意软件也能通过发送短信等方式将被盗数据传给攻击者。...)——允许操作者从手机端向 CIA 控制的远程服务器发送短信。...向CIA控制的联网服务器发送手机收件箱所有信息; 2. 通过 HighRise 主机从被入侵的手机端发送SMS消息; 3. 为HighRise 操作者监听站之间提供通信信道; 4.

82650

网藤能力中心 | 深入Exchange Server在网络渗透下的利用方法

,并确保邮件发送接收者的地址被正确解析并执行特定策略(如邮件地址过滤、内容过滤、格式转换等),同时,还可以进行记录、审计、添加免责声明等,正如Hub transport的含义,该服务器角色相当于一个邮件传输的中继站点...2.客户端/远程访问接口和协议 邮件通信分为邮件发送邮件接收,其中邮件发送使用统一的通信协议,即SMTP,而邮件的收取则有多种协议标准,如由早期的POP发展至今的POP3,如今使用广泛的IMAP,...再次强调,SPN是启用Kerberos的服务所注册的便于KDC查找的服务名称,这些SPN名称信息被记录在活动目录数据库中,只要服务安装完成,这些SPN名称就已经存在,除非卸载或删除,SPN名称查询与当前服务是否启动没有关系...除此之外,有时候通过其他一些方法同样可以帮助探测确认Exchange服务,如发现OWA、EWS接口、自动发现服务、DNS域名记录等等,Exchange是一个庞大复杂的组件服务,各种配置信息公开服务都可以帮助我们进行信息收集...完事之后,删除该属性设置,如果不清除该设置,用户随后的多次浏览收件箱都将触发命令执行,造成empire接收多个反弹shell。

4.3K20
领券