avatar
文章
876
标签
85
分类
13
首页
归档
标签
友链
代表作品
量化套利
关于
TagoTago开发手记
搜索
首页
归档
标签
友链
代表作品
量化套利
关于

Tago · 开发手记

【摘要】HTTPS 的介绍及工作原理
发表于2017-11-04|协议
在互联网安全日益重要的今天,HTTPS(超文本传输安全协议)成为了保护用户数据和隐私的关键技术。本文将对 HTTPS 进行介绍,并详细阐述其工作原理。 1. 什么是 HTTPS?HTTPS 是 HTTP(超文本传输协议)的安全版本。它通过在 HTTP 的基础上加入 SSL/TLS(安全套接层/传输层安全)协议,实现数据加密传输,确保数据在客户端和服务器之间的安全性。HTTPS 主要用于保护用户的隐私信息,如信用卡号、登录凭据和个人数据等。 1.1 主要特点 加密:使用 SSL/TLS 加密数据,防止中间人攻击和数据窃听。 身份验证:通过数字证书验证服务器身份,确保用户连接的是合法网站。 数据完整性:确保数据在传输过程中未被篡改。 2. HTTPS 的工作原理HTTPS 的工作原理主要分为以下几个步骤: 2.1 客户端发起请求用户在浏览器中输入 HTTPS URL(如 https://www.example.com),浏览器向服务器发送请求,要求建立安全连接。 2.2 服务器响应服务器收到请求后,返回其数字证书。数字证书包含了公钥和由可信任的证书...
Mongo geoNear 使用笔记
发表于2017-11-03|数据库
在地理信息系统(GIS)和位置服务的应用中,MongoDB 提供了强大的地理空间查询能力。geoNear 是 MongoDB 中用于查找离一个给定点最近的文档的操作。本文将介绍 geoNear 的基本用法和示例,帮助您在项目中有效地利用这一功能。 1. 什么是 geoNear?geoNear 是 MongoDB 的一个聚合管道操作,允许您根据地理坐标查询文档。它的主要功能包括: 根据指定点的地理位置返回最近的文档。 可以限制返回的结果数量和排序方式。 支持计算距离和使用地理空间索引提高查询性能。 2. 准备工作2.1 创建集合和插入数据首先,我们需要创建一个集合并插入带有地理信息的文档。以下是一个示例代码: use mydatabase;db.places.insertMany([ { name: "Place A", location: { type: "Point", coordinates: [102.0, 0.5] } }, { name: "Place...
kafka安装及Kafka-PHP扩展的使用,kafka-php扩展
发表于2017-11-03|编程语言
在现代分布式系统中,Apache Kafka 是一种流行的消息队列系统,用于高吞吐量的数据传输和处理。本文将介绍如何安装 Kafka,并详细讲解如何使用 kafka-php 扩展在 PHP 中与 Kafka 进行交互。 1. 什么是 Apache Kafka?Apache Kafka 是一个开源流处理平台,能够处理实时数据流。它的主要特性包括: 高吞吐量:支持每秒处理数百万条消息。 可扩展性:支持水平扩展,通过增加服务器轻松扩展集群。 持久性:支持消息的持久化存储,确保数据不会丢失。 2. Kafka 安装步骤2.1 安装 JavaKafka 是用 Java 编写的,因此需要安装 Java Runtime Environment (JRE): sudo apt updatesudo apt install default-jre 您可以通过以下命令检查 Java 是否安装成功: java -version 2.2 下载 Kafka从 Apache Kafka 官网 下载最新版本的 Kafka。 wget https://downloads.apache.org/kaf...
PHP扩展--taint检测隐藏漏洞
发表于2017-11-02|编程语言
在现代 Web 开发中,安全性是一个至关重要的考虑因素。PHP 作为一种广泛使用的编程语言,尤其是在处理用户输入时,面临着许多安全挑战。Taint 检测是一种有效的方法,用于识别和防止潜在的安全漏洞。本文将介绍 PHP 中的 Taint 检测扩展及其在隐藏漏洞中的应用。 1. 什么是 Taint 检测?Taint 检测是一种静态分析技术,用于追踪数据的来源。通过标记“污点”数据(即来自不可信源的数据),开发者可以识别出可能导致安全漏洞的代码路径。Taint 检测有助于防止常见的安全问题,如 SQL 注入、跨站脚本(XSS)和命令注入等。 2. Taint 检测的工作原理Taint 检测的基本原理如下: 标记输入:来自用户的输入数据被标记为“污点”。 追踪数据流:在程序执行过程中,所有使用这些污点数据的操作都会被追踪。 检测漏洞:如果污点数据未经过适当的验证或清理就被用于敏感操作(如数据库查询或系统命令),则会被标记为潜在的安全漏洞。 3. PHP 中的 Taint 检测扩展在 PHP 中,有一些扩展可以实现 Taint 检测,例如 Taint Checker 和 Tain...
Mysql INSERT INTO SELECT 批量插入SQL 实例
发表于2017-11-01|数据库
在数据库管理中,批量插入数据是一项常见的需求。MySQL 提供了 INSERT INTO SELECT 语句,使得从一个表中选择数据并将其插入到另一个表中变得简单高效。本文将详细介绍如何使用 INSERT INTO SELECT 进行批量插入,并提供实际的示例。 1. 什么是 INSERT INTO SELECT?INSERT INTO SELECT 是一种 SQL 语句,允许用户从一个表中选择数据并将其插入到另一个表中。此方法特别适合于需要将大量数据从一个表转移到另一个表的场景,例如数据迁移、备份或汇总。 语法INSERT INTO target_table (column1, column2, ...)SELECT column1, column2, ...FROM source_tableWHERE conditions; 2. 使用场景 数据迁移:将数据从旧表迁移到新表。 数据备份:创建表的备份副本。 数据汇总:从多个表中汇总数据并插入到某个表中。 3. 示例假设我们有两个表:employees 和 archived_employees。我们希望将所有离职员工的信...
PHP CURL 文件上传
发表于2017-11-01|编程语言
在 Web 开发中,文件上传是一个常见的需求。PHP 提供了 cURL 库,使得通过 HTTP 请求上传文件变得简单而高效。本文将介绍如何使用 PHP 的 cURL 实现文件上传功能。 1. 什么是 cURL?cURL 是一个支持多种协议的库,允许你通过 URL 发送和接收数据。在 PHP 中,cURL 可以用于执行 HTTP 请求,包括文件上传、数据提交等操作。 2. 文件上传的基本思路使用 cURL 上传文件的基本步骤如下: 创建一个 cURL 会话。 设置 cURL 选项,包括目标 URL 和要上传的文件。 执行 cURL 会话。 关闭会话并处理响应。 3. 示例代码以下是一个使用 cURL 上传文件的示例代码: <?phpfunction uploadFile($url, $filePath) { // 初始化 cURL 会话 $ch = curl_init(); // 设置 cURL 选项 curl_setopt($ch, CURLOPT_URL, $url); // 目标 URL curl_setopt($ch, ...
JS 字节格式化工具
发表于2017-10-30|编程语言
在开发中,我们经常需要处理文件大小、网络流量或其他以字节为单位的数据。直接使用字节数可能不够直观,因此将其转换为更易于理解的格式(如 KB、MB、GB 等)是非常有用的。本文将介绍如何使用 JavaScript 编写一个字节格式化工具。 1. 字节格式化的必要性在许多应用场景中,字节数的直接表示方式并不直观。例如,1,024 字节可能对用户来说没有意义,但当我们将其格式化为 1 KB 时,信息就变得清晰明了。通过格式化,我们可以: 提高用户体验:以用户更易理解的方式展示数据。 使数据更具可读性:避免使用过大的数字,使数据更易于比较和理解。 2. 字节格式化工具的基本思路我们可以创建一个简单的 JavaScript 函数,将字节数转换为人类可读的格式。该函数将: 接收字节数作为输入。 根据字节数的大小选择合适的单位(B、KB、MB、GB 等)。 格式化输出,保留适当的小数位。 3. 示例代码以下是一个简单的字节格式化工具的实现: function formatBytes(bytes, decimals = 2) { if (bytes === 0) re...
PHP 脚本开启守护进程方式
发表于2017-10-29|编程语言
在许多应用场景中,特别是需要长期运行的服务或任务,使用守护进程(Daemon)是一种有效的解决方案。守护进程是一种在后台运行的进程,不依赖于用户的登录会话。本文将介绍如何在 PHP 中创建和管理守护进程。 1. 什么是守护进程?守护进程是一种在后台运行的程序,通常用于处理系统服务、监控任务或定时作业。与普通进程不同,守护进程在没有用户交互的情况下独立运行,通常在系统启动时启动,或者在用户登录后启动。 2. PHP 中创建守护进程的基本步骤在 PHP 中创建守护进程通常涉及以下几个步骤: fork 进程:创建子进程,使父进程退出。 改变工作目录:将工作目录更改为根目录,以避免阻止卸载文件系统。 关闭标准输入/输出:关闭标准输入、输出和错误输出,防止与终端交互。 运行主要任务:在子进程中执行需要的任务。 3. PHP 守护进程示例以下是一个简单的 PHP 脚本,演示如何创建一个守护进程: <?phpfunction daemonize() { // 创建子进程 $pid = pcntl_fork(); if ($pid < 0...
PHP 序列化选择
发表于2017-10-28|编程语言
在 PHP 开发中,序列化是将数据结构或对象转换为可存储或传输的格式的过程。正确选择序列化方法可以提高性能、可读性和数据安全性。本文将探讨 PHP 中的序列化方法,包括它们的优缺点,以及在不同场景中的最佳实践。 1. 什么是序列化?序列化是将数据结构或对象转换为字符串的过程,以便保存到文件、数据库或通过网络传输。反序列化则是将字符串转换回原始数据结构或对象的过程。 2. PHP 中的序列化方法PHP 提供了几种序列化方法,最常见的有: 2.1 serialize() 和 unserialize()使用场景:适用于 PHP 内部数据结构和对象。 优点: 简单易用,适合快速开发。 能够序列化复杂的数据结构,如数组和对象。 缺点: 生成的字符串不具可读性。 对于跨语言的数据交换不友好。 安全性风险:反序列化不可信的数据可能导致代码执行漏洞。 示例: $data = ['name' => 'Alice', 'age' => 30, 'is_admin' => false];$se...
文件锁:解决高并发数据安全问题
发表于2017-10-27|编程语言踩坑教训
在高并发环境下,确保数据的安全性和一致性至关重要。文件锁是一种有效的机制,可以防止多个进程或线程同时访问同一文件,导致数据冲突和不一致。本文将介绍如何在 PHP 中实现文件锁,并分享相关的示例代码。 1. 什么是文件锁?文件锁用于控制对文件的访问,它允许一个进程在操作文件时获得对该文件的独占访问权,从而阻止其他进程同时进行写操作。 共享锁:允许多个进程同时读取文件,但不允许写入。 独占锁:只允许一个进程对文件进行写操作,其他进程无法读取或写入。 2. PHP 中的文件锁在 PHP 中,可以使用 flock() 函数来实现文件锁。该函数允许您在打开的文件上获取锁,并通过参数控制锁的类型。 2.1 使用示例以下是一个简单的 PHP 示例,演示如何使用文件锁来安全地写入文件。 <?phpfunction lock_file($filename) { // 打开文件 $file = fopen($filename, 'a'); // 以追加模式打开文件 if ($file === false) { di...
1…656667…88
avatar
Leon
技术、实践与记录
文章
876
标签
85
分类
13
公告
记录技术实践,分享学习与思考。
最新文章
Okx合约量化套利开发心得
Okx合约量化套利开发心得2026-10-08
币安衍生品与 TradFi 业务全景
币安衍生品与 TradFi 业务全景2026-10-04
币安指数玩法拆解
币安指数玩法拆解2026-10-03
币安外汇玩法拆解
币安外汇玩法拆解2026-10-03
币安大宗商品玩法拆解
币安大宗商品玩法拆解2026-10-03
最新评论
加载中...
分类
  • Ai9
  • Nginx44
  • 产品16
  • 其他54
  • 协议69
  • 容器13
  • 技术1
  • 操作系统112
标签
kali VM NVDA websocket 做市 Tcp ClickHouse jwt 需求优先级 ssl 币安 swoole 代理 golang 网络安全 跨域 埋点 交互设计 AES Docker 量化理财 产品基础 php 用户体验 protobuf linux 代币化股票 股票代币化 yum 金融交易 WebAuthn TradFi 导航设计 shell centos oa 正则 vim 指数 curl
归档
  • 十月 2026 5
  • 九月 2026 5
  • 八月 2026 13
  • 七月 2026 7
  • 六月 2026 4
  • 五月 2026 5
  • 四月 2026 10
  • 三月 2026 6
网站信息
文章数目 :
876
运行时间 :
最后更新时间 :
© 2015 - 2026 By Leon框架 Hexo 8.1.2|主题 Butterfly 5.7.0
Tago · 开发手记
搜索
数据加载中