自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

景山编程-顺道编程

编程里面营销最好的,营销里面写书最好的,写书里面大数据最好的,大数据里面管理最好的...

  • 博客(142)
  • 资源 (3)
  • 收藏
  • 关注

原创 [李景山php] C语言里面create 跟 creat

C语言里面的 没有 create 只有 creat ,这个真的害苦我了,纪念一下

2017-05-31 22:32:34 2895

原创 [李景山php] composer 使用 安装 laravel

1 首先确保你的composer正常安装,然后确保你的git 及 https://packagist.org可以正常访问 2 安装laravel 进入到你要安装的目录,执行下面即可,要翻墙,要多等一会。 composer create-project laravel/laravel learnlaravel

2017-05-31 16:42:22 302

原创 [李景山php] web 安全资料篇

Web安全与业务 1939年9月1日凌晨,第二次世界大战爆发。德军14个师兵分三路,从北,南,西同时入侵波兰,波军6个集团军80万人组成的防线瞬间瓦解。由于兵力分散和移动迟缓,波军很快被各个击破,到9月21日“布楚拉战役”,主流已全军覆没。这次战争的时间之短,出乎所有人意料,它将一种新的战争模式呈现在人们眼前“闪电战”。 随着新技术、新思维的出现,看不见硝烟的随时出现。 2012年7月,一部由

2017-05-31 11:27:42 927

原创 [李景山php] XSS攻击

XSS[CSS] Cross Site Scripting, 跨站脚本。 跨:主要是因为远程或者是第三方域上的脚本资源。 例子:eval(location.hash.substr(1));http://www.crm.net/test_xss.html#alert('no')类型: 反射型,存储型,DOM XSS 反射型: echo $_GET[‘x’]; 存储型:存入到对应的数据库,

2017-05-31 09:20:53 633

原创 [李景山php] PHP扩展开发系列教程3-接收用户参数

简介与用户空间的代码不同,内部函数的参数实际上并不是在函数头部声明的,而是将参数列表的地址传入每个函数—不论是否传入了参数—而且,函数可以让Zend 引擎将它们转化为便于使用的东西。通过定义 hello_greeteme() 展示输出同样需要在三个地方增加代码:php_hello.h声明新的函数:PHP_FUNCTION(hello_greetme);hello.c声明新的使用:PHP_FE(hel

2017-05-31 08:52:06 586

原创 [李景山php] PHP扩展开发系列教程2-设置全局变量

背景扩展经常需要一个特定的请求中由始至终跟踪一个值,而且要把它与可能同时发生的其它请求分开。对于一般的单线程的SAPI程序来说,只要在源文件中添加一个全局变量即可。但是对于php需要跟多线程的如 apache,nginx 等配合使用,他需要保持各个线程使用的全局数值的独立。通过使用 TSRM (Thread Safe Resource Management ,线程安全的资源管理器 ) 抽象层–有时

2017-05-29 08:06:03 1667

原创 [李景山php] PHP扩展开发系列教程2-通过php.ini初始化你扩展的配置

通过php.ini初始化你扩展的配置Zend引擎提供了两种管理ini值的途径。 假设你要在php.ini中为你的扩展定义一个值,hello.greeting,它保存将在hell_world()函数中用到的问候字符串。你需要向hello.c和php_hello.h中增加一些代码,同时对hell_module_entry结构作一些关键性的改变。第一步:修改 php_hello.h中靠近用户空间函数的原

2017-05-27 08:55:08 347

原创 [李景山php] C语言如何使用静态库

通过简单计算器功能实现静态库演示:静态库c文件: static_lib.cint add(int a, int b){ return a + b; } int sub(int a, int b){ return a - b; } int mul(int a, int b){ return a * b; } int div(int a, int b){

2017-05-27 08:18:36 502

转载 解决linux下cannot execute binary file: Exec format error

对于Linux下cannot execute binary file: Exec format error明确说明是执行文件格式错误,可能情况: 1.使用错误的命令,如gcc -c hello.c -o hello,这样得到的是.o文件,而不是可执行程序,此时使用./hello就会报上述错误!此时应改用gcc hello.c -o hello就可以啦! 2.如果不是上述错误,就可能是版本问题,如

2017-05-26 10:22:47 34119 2

原创 [李景山php] PHP扩展开发系列教程-1

PHP的核心由两部分组成。最底层是zend引擎(ZE)。另一部分是PHP内核,她绑定了SAPI层(Server Application Programming Interface).扩展的内存管理1 依赖ZE内部管理2 自己写内存管理创建基础hello 扩展config.m4这个是 Phpize 用来编译的扩展文件的配置文件php_hello.h 配置文件进行配置文件hello.c原文件 关键的代

2017-05-26 09:01:24 439

转载 [李景山php] yaf 的运行流程图

运行的流程图。

2017-05-25 10:42:26 620

原创 [李景山php] 深入理解PHP内核[读书笔记]--第七章:Zend虚拟机

php脚本执行的大致流程:1 递给php程序需要执行的文件, php程序完成基本的准备工作后启动PHP及Zend引擎, 加载注册的扩展模块。 2 初始化完成后读取脚本文件,Zend引擎对脚本文件进行词法分析,语法分析。然后编译成opcode执行。如过安装了apc之类的opcode缓存, 编译环节可能会被跳过而直接从缓存中读取opcode执行。词法分析、语法分析,编译中间代码,执行中间代码等各个部分

2017-05-25 08:41:27 350

原创 [李景山php] 阿里云服务器 ubuntu 搭建 git 服务器

说明:本次测试使用的是 ubuntu16, 用户是root安装git服务器,关键点 git-core第一步:更新服务器apt-get update第二步:安装核心组件apt-get install git-core openssh-server openssh-client配置git用户第三步:添加git 系统用户及 指定 git 用户组,并且指定相应的shell. adduser –system

2017-05-24 10:27:45 340

原创 [李景山php] ubuntu 安装 git 客户端

sudo apt-get updatesudo apt-get install git然后添加用户名:git config --global user.name "Your Name"git config --global user.email "youremail@domain.com"查看信息:git config --list

2017-05-24 09:39:25 348

原创 [李景山php] 深入理解PHP内核[读书笔记]--第六章:内存管理

内存管理的主要工作是尽可能的高效的利用内存。php如果频繁的调用内存,会导致系统在内核态和用户态直接切换会产生性能问题。如果在php一次读取超大的文件,容易造成内存不够用。默认的php内存大小是32M,可以通过php.ini调整内存大小。可以通过 memory_get_usage() 及 memory_get_peak_usage() 分别来获取对应的内存使用值,及峰值情况。uset是个好东西。PH

2017-05-24 08:44:40 508

原创 [李景山php] C语言实现简单五子棋

#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <string.h>#define MAXIMUS 15 //定义棋盘大小int p[MAXIMUS][MAXIMUS];//存储对局信息char buff[MAXIMUS*2+1][MAXIMUS*4+3];//输出缓冲器int Cx,Cy;//当前光标位置i

2017-05-23 22:40:36 642

原创 [李景山php] DNS Flood防御

DNS攻击防御也有类似HTTP的防御手段,第一方案是缓存。其次是重发,可以是直接丢弃DNS报文导致UDP层面的请求重发,可以是返回特殊响应强制要求客户端使用TCP协议重发DNS查询请求。特殊的,对于授权域DNS的保护,设备会在业务正常时期提取收到的DNS域名列表和ISP DNS IP列表备用,在攻击时,非此列表的请求一律丢弃,大幅降低性能压力。对于域名,实行同样的域名白名单机制,非白名单中的域名解析

2017-05-23 14:07:01 341

原创 [李景山php] HTTP Flood防御

HTTP Flood攻击防御主要通过缓存的方式进行,尽量由设备的缓存直接返回结果来保护后端业务。大型的互联网企业,会有庞大的CDN节点缓存内容。当高级攻击者穿透缓存时,清洗设备会截获HTTP请求做特殊处理。最简单的方法就是对源IP的HTTP请求频率做统计,高于一定频率的IP地址加入黑名单。这种方法过于简单,容易带来误杀,并且无法屏蔽来自代理服务器的攻击,因此逐渐废止,取而代之的是JavaScript

2017-05-23 14:05:51 838

原创 [李景山php] syn flood 攻击防御方案

前文描述过,SYN Flood攻击大量消耗服务器的CPU、内存资源,并占满SYN等待队列。相应的,我们修改内核参数即可有效缓解。主要参数如下:net.ipv4.tcp_syncookies = 1net.ipv4.tcp_max_syn_backlog = 8192net.ipv4.tcp_synack_retries = 2分别为启用SYN Cookie、设置SYN最大队列长度以及设置SYN+AC

2017-05-23 14:03:33 588

原创 [李景山php] ddos 防御基础

攻击流量到底多大,这是一个关键问题。攻击量的大小。用的防护方法不一样。下面给你讲一讲,1G之内的防护方式。费用在,<1万,每月  谈到DDoS防御,首先就是要知道到底遭受了多大的攻击。这个问题看似简单,实际上却有很多不为人知的细节在里面。以SYN Flood为例,为了提高发送效率在服务端产生更多的SYN等待队列,攻击程序在填充包头时,IP首部和TCP首部都不填充可选的字段,因此IP首部长度恰好是20

2017-05-23 14:00:56 312

原创 [李景山php] ddos 之反射型 攻击

真实TCP服务器发送TCP的SYN包,而这些收到SYN包的TCP server为了完成3次握手把SYN|ACK包“应答”给目标地址,完成了一次“反射”攻击,攻击者隐藏了自身,但有个问题是攻击者制造的流量和目标收到的攻击流量是1:1,且SYN|ACK包到达目标后马上被回以RST包,整个攻击的投资回报率不高。  反射型攻击的本质是利用“质询-应答”式协议,将质询包的源地址通过原始套接字伪造设置为目标地址

2017-05-23 13:57:28 376

原创 [李景山php] ddos 攻击 之 无法停止的毒药 p2p 网络攻击

如果有一种攻击,只需要发出一些指令,就有机器自动上来执行,才是完美的方案。这种攻击已经出现了,那就是来自P2P网络的攻击。大家都知道,互联网上的P2P用户和流量都是一个极为庞大的数字。如果他们都去一个指定的地方下载数据,使成千上万的真实IP地址连接过来,没有哪个设备能够支撑住。拿BT下载来说,伪造一些热门视频的种子,发布到搜索引擎,就足以骗到许多用户和流量了,但这只是基础攻击。高级P2P攻击,是直接

2017-05-23 13:54:49 294

原创 [李景山php] DDoS攻击进阶 混合攻击

高级攻击者从来不会使用单一的手段进行攻击,而是根据目标环境灵活组合。普通的SYN Flood容易被流量清洗设备通过反向探测、SYN Cookie等技术手段过滤掉,但如果在SYN Flood中混入SYN+ACK数据包,使每一个伪造的SYN数据包都有一个与之对应的伪造的客户端确认报文,这里的对应是指源IP地址、源端口、目的IP、目的端口、TCP窗口大小、TTL等都符合同一个主机同一个TCP Flow的特

2017-05-23 13:51:36 522

原创 [李景山php] ddos 攻击 之 慢速连接攻击 太极打法

提起攻击,第一反应就是海量的流量、海量的报文。但有一种攻击却反其道而行之,以慢著称,以至于有些攻击目标被打死了都不知道是怎么死的,这就是慢速连接攻击,最具代表性的是rsnake发明的Slowloris。    HTTP协议规定,HTTP Request以\r\n\r\n结尾表示客户端发送结束,服务端开始处理。那么,如果永远不发送\r\n\r\n会如何?Slowloris就是利用这一点来做DDoS攻击

2017-05-23 13:47:34 1151

原创 [李景山php] ddos 攻击 之 HTTP Flood 别名 cc攻击

SYN Flood、DNS Query Flood在现阶段已经能做到有效防御了,真正令各大厂商以及互联网企业头疼的是HTTP Flood攻击。HTTP Flood是针对Web服务在第七层协议发起的攻击。它的巨大危害性主要表现在三个方面:发起方便、过滤困难、影响深远。SYN Flood和DNS Query Flood都需要攻击者以root权限控制大批量的傀儡机。收集大量root权限的傀儡机很花费时间和

2017-05-23 13:45:41 621

原创 [李景山php] ddos 攻击 值 DNS Query Flood

作为互联网最基础、最核心的服务,DNS自然也是DDoS攻击的重要目标之一。打垮DNS服务能够间接打垮一家公司的全部业务,或者打垮一个地区的网络服务。前些时候风头正盛的黑客组织anonymous也曾经宣布要攻击全球互联网的13台根DNS服务器,不过最终没有得手。UDP攻击是最容易发起海量流量的攻击手段,而且源IP随机伪造难以追查。但过滤比较容易,因为大多数IP并不提供UDP服务,直接丢弃UDP流量即可

2017-05-23 13:40:17 480

原创 [李景山php] ddos 攻击之 SYN Flood

SYN Flood是互联网上最经典的DDoS攻击方式之一,最早出现于1999年左右,雅虎是当时最著名的受害者。SYN Flood攻击利用了TCP三次握手的缺陷,能够以较小代价使目标服务器无法响应,且难以追查。标准的TCP三次握手过程如下:1、客户端发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号;2、服务器在收到客户端

2017-05-23 13:37:25 715

原创 [李景山php]按照发起的方式,DDoS可以简单分为三类

第一类以力取胜,海量数据包从互联网的各个角落蜂拥而来,堵塞IDC入口,让各种强大的硬件防御系统、快速高效的应急流程无用武之地。这种类型的攻击典型代表是ICMP Flood和UDP Flood,现在已不常见。  第二类以巧取胜,灵动而难以察觉,每隔几分钟发一个包甚至只需要一个包,就可以让豪华配置的服务器不再响应。这类攻击主要是利用协议或者软件的漏洞发起,例如Slowloris攻击、Hash冲突攻击等,

2017-05-23 13:35:30 297

原创 [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --概览

魔术函数与魔术方法php定义了一些,当特定的机会自动调用的函数,一般通常用 __ 开头,php 的类是 PHP内部的一个 _zend_class_enty结构体,正常常用的解析方法。self parent static 类它指向当前类,但只有在类定义内部才有效,但也不一定执行类本身这个特殊类。对象对象在PHP中使用一种zend_object_value的结构体存储。对象的创建,在PHP代码中,对象的

2017-05-23 08:50:16 650

原创 [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --类的继承,多态及抽象类

类的继承,多态及抽象类PHP内核将类的继承实现放在了”编译阶段”,因此使用VLD生成中间代码时并没有关于继承的相关信息。整个继承的过程是以类结构为中心,当继承发生时,程序会先处理所有的接口。在继承过程中,除了常规的函数合并后,还有魔术方法的合并。多态顾名思义,多态即多种形态,相同方法调用实现不同的实现方式。PHP中关键点在于类型提示的实现。类型提示的实现:第一步:判断参数是否为对象,使用宏Z_TYP

2017-05-22 08:48:10 460

原创 [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --访问控制的实现

访问的控制实现面向对象的三大特征(封装,继承,多态),其中封装是一个非常重要的特性。封装隐藏了对象内部的细节和实现,使对象能够集中而完整的描述并对应一个具体的事物,只提供对外的访问接口,这样可以在不改变接口的前提下改变实现细节,而且能使对象自我完备。封装还可以增强安全性和简化编程。在面向对象的语言中一般是通过访问控制来实现封装的特性。php提供了public,protected,private 三个

2017-05-19 08:33:39 278

原创 [李景山php] C语言 指针---1

地址与指针变量的地址就是指针。变量与指针C语言提供了通过地址访问内存单元的方式。指针变量如果一个变量专门存放另一个变量的地址,它就是指针变量。定义:类型说明 *变量名。 未经赋值的指针变量不能使用。 &变量名 表示变量地址如下例子:int a; int *p = &a;或者int a; int *p; p = &a;指针变量的引用printf(“%d \n”,*p);&* 与 *&如果例子

2017-05-19 08:17:07 323

原创 [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --类的结构和实现

PHP内部类是怎么实现的?它的内存布局及存储是怎么样的呢?继承、封装、多态又是怎么实现的呢?类的结构首先看一下类的内部存储结构:struct _zend_class_entry{ char type;// 类型: ZEND_INTERNAL_CLASS / ZEND_USER_CLASS char *name;//类名称 zend_uint name_length;//

2017-05-18 08:45:34 294

原创 [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --简介

类及面向对象楼主,我想问个问题,就是,没有对象的怎么办?类是具体事物的抽象,对象是类的实例。PHP类的特征:访问控制,抽象类,final类,类方法,魔术方法,接口,对象克隆,类型提示,命名空间,延迟静态绑定,__callStatic() , __invoke()PHP中的对象是引用传值,简单点说,就是共用地址,不是传参。

2017-05-18 08:20:04 341

原创 ctrl+c,ctrl+d,ctrl+z在linux程序中意义和区别

ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.ctrl+c是强制中断程序的执行,,进程已经终止。ctrl+z的是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.例如:当你vi一个文件是,如果需要用shell执行别的操作,但是你又不

2017-05-17 11:28:31 288

原创 [李景山php] swoole 异步 mysql 连接

$db = new swoole_mysql;$server = array( 'host' => '192.168.50.145', 'user' => 'root', 'password' => 'flzx_3QC', 'database' => 'mysql', 'chatset' => 'utf8', //指定字符集);$db->connect($

2017-05-17 09:24:17 1387

原创 [李景山php] swoole 事件添加

$fp = stream_socket_client("tcp://www.qq.com:80", $errno, $errstr, 30);fwrite($fp,"GET / HTTP/1.1\r\nHost: www.qq.com\r\n\r\n");swoole_event_add($fp, function($fp) { $resp = fread($fp, 8192);

2017-05-17 09:23:17 273

原创 [李景山php] swoole 异步 文件写入

$file_content = 'jingshan';swoole_async_writefile('test.log', $file_content, function($filename) { echo "wirte ok.\n";}, $flags = 0);

2017-05-17 09:22:36 886 2

原创 [李景山php] swoole 异步文件读取

swoole_async_readfile(__DIR__."/server.php", function($filename, $content) { echo "$filename: $content";});

2017-05-17 09:21:53 323

原创 [李景山php] swoole dns 查询

swoole_async_dns_lookup("www.baidu.com", function($host, $ip){ echo "{$host} : {$ip}\n";});

2017-05-17 09:20:47 285

spark 机器学习 第二版 含源码 高清版本

高清的spark 机器学习 电子书 第二版本,内含完成的 java python scala r 对应的操作源码及数据

2019-04-04

高仿京东首页

高仿静态京东资源

2017-05-11

windows 64 redis 2.8

2016-07-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除