C++20 镶 SQLC++20 ❤ SQL John R Bandela, MDOverview u SQL u C++ Example u Implementation techniques u fixed_string u meta_struct u Parsing compile time strings into meta_structsOverview v SQL v C++ Example {price_from_user};Avoiding SQL Injection Attacks SELECT orders.id, name, item, price, discount_code FROM orders JOIN customers ON customers.id = customerid WHERE price > ?;SQL Library Options u Traditional Lots of information available u Vulnerable to sql injection of developer not careful u Use dynamic typingDomain Specific Language u Use types to encode SQL u Looks more like regular C++ u Typically requires0 码力 | 46 页 | 775.02 KB | 6 月前3
Service Mesh落地之后_为sidecar注入灵魂 - 周群力1 周群力 Co-founder of Layotto Service Mesh 落地之后: 为 sidecar 注入灵魂 2 • Multi Runtime: 从 sidecar 到机甲 • Runtime API: 解决跨云部署和厂商绑定难题 • WebAssembly in sidecar: 让业务逻辑跑在sidecar里 • Service Mesh 回顾 • 展望2022:待解决的问题 Runtime: 所有中间件下沉: 业务逻辑和基础设施分离 多语言治理 同一套代码移植到不同组件 59 Service Mesh 落地之后, 架构演进的思路是? 60 为 sidecar 注入 灵魂 61 终 社区广告: 来了就是朋友 62 https://github.com/mosn/layotto 63 微信扫码进群 与五湖四海的开发者们 进行技术交流,探索技术创新0 码力 | 63 页 | 880.85 KB | 1 年前3
⽤ egg 孵化你的 SQL 优化器 - 王润基第三届中国Rust开发者⼤会 ⽤ egg 孵化你的 SQL 优化器 王润基 RisingWave 内核开发⼯程师 ? Parser Binder Optimizer Executor SQL AST Logical Plan Physical Plan Table Catalog Storage RisingLight 查询引擎的整体结构 SELECT name, url url FROM t1 JOIN t2 WHERE t1.id = t2.id AND name = ‘Bob’ SQL Logical Plan Physical Plan Projection name, url Filter t1.id = t2.id name = “Bob” Join Scan t1(id, name) Scan t2(id, url) Filter #1 = “Bob” Hash Join #0 = #2 Scan $1.1, $1.2 Scan $2.1, $2.2 Projection #1, #3 ⼀个 SQL 语句优化的例⼦ 基于规则的优化 (RBO) 基于代价的优化 (CBO) 谓词下推 Join Filter A B Join Filter A B Filter Join A Join0 码力 | 39 页 | 6.48 MB | 1 年前3
10 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》B/S居统治地位:网上银行、电子商务、电子政务、证劵、 手机上网 3 1.2.安全威胁 1.2.安全威胁 n SANS年发布的全球20大安全风险排行榜上,Web应 用安全漏洞名列前茅,攻击者利用最多的漏洞是SQL 注入及跨站脚本 n 根据国家计算机网络应急技术处理协调中心(简称 CNCERT/CC)上半年的工作报告显示,网站漏洞百出, 被篡改的大陆网站数量明显上升,总数达到28367个, 比去年全年增加近16% Leakage and Improper Error Handling典型攻击 n 注入类(以其人之道还治其人之身) q SQL注入 q OS命令注入 q LDAP注入 q 远程文件包含 n 绕过防御类(凌波微步) q 目录遍历 q 不安全对象引用 n 跨站类(隔山打牛) q 跨站脚本 q 跨站请求伪造 无法检测并阻止应用层攻击 网络层 应用层 在应用层,我们的安全边界存在巨大 的漏洞!!! 提纲 一、背景概述 二、典型攻击 三、攻防原理 四、防护产品体系 3.1. SQL注入 16 概述 n SQL Injection q 攻击者利用WEB应用程序对用户输入验证上的疏忽, 在输入的数据中包含对某些数据库系统有特殊意义 的符号或命令,让攻击者有机会直接对后台数据库 系统 0 码力 | 114 页 | 3.65 MB | 1 年前3
Laravel 5.2 中文文档样式的视图用于登录、注册和密码重置。该命令 还会使用相应路由更新路由文件。 注意:该功能特性只能在新应用中使用,不能再应用升级过程中使用。 隐式模型绑定 隐式模型绑定使得在路由或控制器中直接注入相应模型实例更加便捷。假设你有一个路由 定义如下: 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 方法告诉 Laravel 注入 App\User 实例以匹 配路由定义中的 {user} 参数。 现在,在 Laravel 5.2 中,框架将会基于相应 URI 片段自动注入模型,从而允许你快速 访问需要的模型实例。 如果路由参数片段 {user} 匹配路由闭包或控制器方法中相应变量 $user,并且被类型声明 为一个 Eloquent 模型类的话,Laravel 将会自动注入该模型。 更多隐式模型绑定详情请查看 Laravel 5.1 中使用了 DB:listen 事件,在 5.2 中更新代码如下: DB::listen(function ($event) { dump($event->sql); dump($event->bindings); }); 你可以去检查每个事件对象类去查看它们的公有属性。 异常处理 App\Exceptions\Handler 类的0 码力 | 377 页 | 4.56 MB | 1 年前3
跟我学Shiro - 张开涛Remember Me:记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录 了。 记住一点,Shiro 不会去维护用户、维护权限;这些需要我们自己去设计/提供;然后通过 相应的接口注入给 Shiro 即可。 接下来我们分别从外部和内部来看看 Shiro 的架构,对于一个好的框架,从外部来看应该 具有非常简单易于使用的 API,且 API 契约明确;从内部来看的话,其应该有一个可扩展 SecurityManager; 2、 我们需要给 Shiro 的 SecurityManager 注入 Realm,从而让 SecurityManager 能得到合法 的用户及其权限进行判断。 从以上也可以看出,Shiro 不提供维护用户/权限,而是通过 Realm 让开发人员自己注入。 接下来我们来从 Shiro 内部来看下 Shiro 的架构,如下图所示: Su 指定用户 名/密码及其角色;role.role1=permission1,permission2 指定角色及权限信息; org.apache.shiro.realm.jdbc.JdbcRealm:通过 sql 查询相应的信息,如“select password from users where username = ?”获取用户密码,“select password, password_salt from0 码力 | 219 页 | 4.16 MB | 10 月前3
Laravel 5.6 中文文档academy.org 6 Illuminate\Log\Writer 类被重命名为 Illuminate\Log\Logger,如果你在应用的某个类中对这个类进行了显式的类型提示作为依赖注入,需要 更新该类的引用为新的类名。或者,作为替代方案,你可以考虑将类型提示调整为标准的 Psr\Log\LoggerInterface 接口。 Illuminate\Contracts\Logging\Log 注:更多细节,可参考 Laravel 5.x 启动过程分析。 服务容器 简介 Laravel 服务容器是一个用于管理类依赖和执行依赖注入的强大工具。依赖注入听上去很花哨,其实质是通过构造函数或者某些情况下通过 setter 方法将类依赖注入到类中。 让我们看一个简单的例子: $user]); } } 在本例中,UserController 需要从数据源获取用户,所以,我们注入了一个可以获取用户的服务 UserRepository,其扮演的角色类似使 用 Eloquent 从数据库获取用户信息。注入 UserRepository 后,我们可以在其基础上封装其他实现,也可以模拟或者创建一个假 的 UserRepository 实现用于测试。0 码力 | 377 页 | 14.56 MB | 1 年前3
Go Web编程4.表单 4.1 处理表单的输入 4.2 验证表单的输入 4.3 预防跨站脚本 4.4 防止多次递交表单 4.5 处理文件上传 4.6 小结 5.访问数据库 5.1 database/sql接口 5.2 使用MySQL数据库 5.3 使用SQLite数据库 5.4 使用PostgreSQL数据库 5.5 使用beedb库进行ORM开发 5.6 NOSQL数据库操作 5.7 小结 6.session和数据存储 Socket编程 8.2 WebSocket 8.3 REST 8.4 RPC 8.5 小结 9.安全与加密 9.1 预防CSRF攻击 9.2 确保输入过滤 9.3 避免XSS攻击 9.4 避免SQL注入 9.5 存储密码 9.6 加密和解密数据 9.7 小结 10.国际化和本地化 10.1 设置默认地区 10.2 本地化资源 10.3 国际化站点 4 10.4 小结 11.错误处理,调试和测试 别名操作的话调用包函数时前缀变成了我们的前缀,即f.Println("hello world") 3. _操作 这个操作经常是让很多人费解的一个操作符,请看下面这个import import ( "database/sql" _ "github.com/ziutek/mymysql/godrv" ) _操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包里面的init函数。 links links0 码力 | 295 页 | 5.91 MB | 1 年前3
Laravel 6.0 中文文档resources/sass 或 resources/js 目录下,不要提交编译后的文 件,因为它们的尺寸往往很大,框架维护者没法对其进行代码审查 (Code Review)。不怀好意的人可能会借此注入恶意代码到 Laravel 中,为了避免这种情况发生,仓库里所有编译后的文件只能由 Laravel 框架维护者生成和提交。 安全漏洞 如果你在 Laravel 中发现安全漏洞,请发送邮件 到 中文学习资源:https://xueyuanjun.com 119 服务容器 简介 Laravel 服务容器是一个用于管理类依赖和执行依赖注入的强大工 具。依赖注入听上去很花哨,其实质是通过构造函数或者某些情况下 通过「setter」方法将类依赖注入到类中。 让我们看一个简单的例子: 注入 UserRepository 后, 本文档由学院君提供 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 121 我们可以在其基础上封装其他实现,也可以模拟或者创建一个假0 码力 | 1442 页 | 14.66 MB | 1 年前3
Laravel 5.3 中文文档orWhere 约束),需要验证第一个条件是否是正常的 where 以避免布尔逻辑问题。 如果你的作用域约束都是以 where 开头则不需要做任何调整,你可以通过 toSql 方法查看当前的 SQL 语句: 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 23 User::where('foo' Laravel 中文学习资源 71 4. 核心概念 4.1 服务容器 1、简介 Laravel 服务容器是一个用于管理类依赖和执行依赖注入的强大工具。依赖注入听上去很花哨,其 实质是通过构造函数或者某些情况下通过 set 方法将类依赖注入到类中。 让我们看一个简单的例子: $user]); } } 在本例中,UserController 需要从数据源获取用户,所以,我们注入了一个可以获取用户的服 务 UserRepository , 其 扮 演 的 角 色 类 似 使 用 Eloquent 从 数 据 库 获 取 用 户 信 息 。 注 本文档由 Laravel0 码力 | 691 页 | 9.37 MB | 1 年前3
共 955 条
- 1
- 2
- 3
- 4
- 5
- 6
- 96













