一、tableView双级联动 [菜单栏联动.gif] [UITableView双级联动.gif] 以上两种效果比较类似,实现的关键在于都是需要获得在滑动过程中滑动到tableView顶部的cell的indexPath...偏移量的值实际上可以代表当时处于tableView顶部的cell在tableView上的相对位置, 那么我们就可以根据偏移量获得处于顶部的cell的indexPath。...中心线cell.gif] 获取处于tableView中间cell的效果,用上述方案一比较麻烦:要考虑可见cell 的奇、偶个数问题,还有cell是否等高的情况;方案二用起来就快捷方便多了,取的cell的位置的纵坐标相当于在偏移量的基础上又增加了
一、tableView双级联动 菜单栏联动.gif UITableView双级联动.gif 以上两种效果比较类似,实现的关键在于都是需要获得在滑动过程中滑动到tableView顶部的cell的indexPath...偏移量的值实际上可以代表当时处于tableView顶部的cell在tableView上的相对位置, 那么我们就可以根据偏移量获得处于顶部的cell的indexPath。...中心线cell.gif 获取处于tableView中间cell的效果,用上述方案一比较麻烦:要考虑可见cell 的奇、偶个数问题,还有cell是否等高的情况;方案二用起来就快捷方便多了,取的cell的位置的纵坐标相当于在偏移量的基础上又增加了
0x00简介: 2019年10月22日在国外上某技术大牛公开了在PHP-FPM中新修补的RCE。 ?...0x01漏洞评判: 中危 注:因需要在特定的环境配置下才能代码执行,漏洞覆盖面有限 0x02:漏洞解刨 因为“fpm_main.c”文件的第1150行代码中由于\n(%0a)的传入导致nginx...在特殊构造的配置生效的情况下可以触发任意代码执行。...默认使用以下官方给出的php-fpm示例配置将会受到影响 PHP FastCGI Example | NGINX 0x03修复建议: 1.修改nginx配置文件中fastcgi_split_path_info...的正则表达式,不允许.php之后传入不可显字符 2.暂停使用 nginx+php-fpm 服务 3.删除如下配置 fastcgi_split_path_info ^(.+?
在开发时有时候遇到项目里面需要展示公司的位置,这时如果导入百度地图什么的就太浪费资源,而且还占内存 这时只要调用自动高德地图的就行了 自己写一个控制器,导入框架 现在导入系统框架只要多打次就能出来了,没必要去
1、问题背景在创建一个快速生成 Mandelbrot 集图像的 Python 程序时,程序开发者遇到一个问题:他想要渲染该集合的一个特定区域,但他不知道如何修改代码中的数学部分来实现 “缩放”。
本文我将为你演示如何访问GridView中的特定控件。我们会看到怎样去访问TextBox控件,DropDownList控件以及ListBox控件。...添加控件到GridView: 你可以简单地使用 选项在GridView控件中增加不同的控件。...访问GridView中的特定控件。 我们将试图输出当按钮点击事件发生时在TextBox中输入或在DropDownList和ListBox控件中选择的值,来看看这是如何完成的。
0x01:漏洞概述 9月26日,PHP官方发布漏洞通告,提到Nginx与php-fpm服务器上存在的一处高危漏洞,由于Nginx的fastcgi_split_path_info模块在处理带 %0a 的请求时...在特殊构造的配置生效的情况下可以触发任意代码执行。目前开源社区已有漏洞Poc公开。...漏洞信息 漏洞名称 PHP-FPM在Nginx特定配置下远程代码执行 CVE编号CVE-2019-11043 CNVD编号 - 影响版本 参考影响范围 威胁等级 高危 公开时间...2019年9月26日 影响范围 Nginx + php-fpm 的服务器,在使用如下配置的情况下,都可能存在远程代码执行漏洞。...在特殊构造的配置生效的情况下可以触发任意代码执行。
为了我们的服务器安全,我们需要禁止直接使用 IP 访问我们的服务器,我们可以借助 [Nginx]完成 1、找到 nginx 的配置文件 cd /usr/local/nginx/conf/ 找到 nginx.conf...server 前面添加一个新的 server,如图所示 这里我们开启了 http 和 https 的监听,如果是直接使用 ip 访问的,我们将会返回 403 状态码给客户端 3、修改 server nginx.conf...error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } 4、访问测试 重启 nginx.../nginx -s reload 浏览器输入 IP 地址,出现如下 说明我们的配置已经成功了 我们输入域名试试 输入域名能够正常访问,说明我们的配置生效,此时就限制了 IP 的访问,只允许特定域名访问了
实时过滤日志 只显示nginx访问日志中返回500状态码的日志行: tail -f access_log.log | grep 500 --color 注意: tail -f 之后,只能使用管道一次,...如下命令将无任何输出 tail -f access_log.log | grep 500 | grep 500 用颜色标记日志中的特定内容 比如,nginx日志格式为: log_format main...的正确正则表达式,我们先从标记200为绿色开始 sed 's/200/\x1b[32m&\x1b[0m/g' access_log.log 说明:echo打印彩色字符时,使用八进制符号\033,但是在sed...中不支持八进制,必须使用16进制:\x1b 下一步,把状态码3XX标为黄色: sed 's/3[0-9][0-9]/\x1b[33m&\x1b[0m/g' access_log.log 但请注意,nginx
目录 0x01 漏洞介绍 0x02 漏洞影响 0x03 漏洞复现 0x01 漏洞介绍 在长亭科技举办的 Real World CTF 中,国外安全研究员 Andrew Danau 在解决一道 CTF 题目时发现...在nginx上,fastcgi_split_path_info处理带有%0a的请求时,会因为遇到换行符\n,导致PATH_INFO为空,而在php-fpm对PATH_INFO进行处理时,对其值为空时的处理存在逻辑问题...,从而导致远程代码执行漏洞 在fpm_main.c文件的第1150行代码可以很明显的看出来,问题的所在 https://github.com/php/php-src/blob/master/sapi/fpm...0x02 漏洞影响 服务器环境为nginx + php-fpm,并且nginx的配置像下面这样 location ~ [^/]\.php(/|$) { ......如果使用了nginx官方提供的默认配置,将会收到影响 https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/ ? ?
目录 0x01 漏洞介绍 0x02 漏洞影响 0x03 漏洞复现 0x01 漏洞介绍 在长亭科技举办的 Real World CTF 中,国外安全研究员 Andrew Danau 在解决一道 CTF 题目时发现...在nginx上,fastcgi_split_path_info处理带有%0a的请求时,会因为遇到换行符\n,导致PATH_INFO为空,而在php-fpm对PATH_INFO进行处理时,对其值为空时的处理存在逻辑问题...,从而导致远程代码执行漏洞 在fpm_main.c文件的第1150行代码可以很明显的看出来,问题的所在 https://github.com/php/php-src/blob/master/sapi/...0x02 漏洞影响 服务器环境为nginx + php-fpm,并且nginx的配置像下面这样 location ~ [^/]\.php(/|$) { ... fastcgi_split_path_info...如果使用了nginx官方提供的默认配置,将会收到影响 https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/ ? ?
使用背景 一般在 web 业务灰度发布中,在使用 ingress-nginx时, 比较常用的灰度策略是通过请求路径、header或者 cookie 的方式,使用方式官网文档都有介绍,参考:Canary...2.安装 Ingress-nginx(注意需要开启allow-snippet-annotations 特性,风险参考:allow-snippet-annotations)。...在第一个原业务 ingress 中通过 configuration-snippet 来检查匹配请求参数是否含有特定的key(jokey) ,如果有则将请求重定向到第二个ingress的 URL(灰度服务后端...第二个灰度服务的 ingress 在接收流量时对请求 path rewrite 回写为原业务接口(/test) , 并带上原始请求参数, 灰度后端响应后返回,从而实现特定请求参数的流量灰度。...查看灰度服务的后端日志,可以看到请求 path 已经按照预期 Rewrite 回业务接口 path, 如下图: 总结 通过上面的试验过程详细介绍了如何在 ingress-nginx 下通过特定请求参数的方式来做灰度发布策略
nginx rewrite 用法,用rewrite去除URL中的特定参数 日常服务中经常会用Nginx做一层代理转发,把Nginx当做前置机 比如,以下配置: server { # 对外暴露 80...rewrite "^/apis/(.*)$" /$1 break; } } 这里的rewrite 就是为了去除URL中的/apis,实际的后端api中是没有这个参数的,但是为了做到在Nginx...转发请求,前端需要加上这个参数,以便于区别 比如前端的请求地址是 http://192.168.10.231/apis/user 那么实际上经过Nginx转发后请求的地址是 http://127.0.0.1
通常用官方提供的安装脚本或软件源安装都是安装的比较新 Docker 版本,有时我们需要在一些特定环境的服务器上安装指定版本的 Docker。今天我们就来讲一讲如何安装指定版本的 Docker 。
比如我们想做一个简单的交互式查询,我们可以直接在Linux终端直接执行spark sql查询Hive来分析,也可以开发一个jar来完成特定的任务。...直接将每一个分区表的数据,导入到对应的索引里面,这种方式直接使用大批量的方式导入,性能比方式一好,但由于Hive生成多个分区表以及导入时还要读取每个分区表的数据涉及的落地IO次数比较多,所以性能一般 方式三: 在scala
PHP本身超时处理 在 php.ini 中,有一个参数 max_execution_time 可以设置 PHP 脚本的最大执行时间,但是,在 php-cgi(php-fpm) 中,该参数不会起效。...配置参数所在位置: php.ini:max_execution_time php-fpm.conf:request_terminate_timeout nginx.conf:fastcgi_connect_timeout...这样,当所有的 php-cgi 进程都卡在 file_get_contents() 函数时,这台 Nginx+PHP 的 WebServer 已经无法再处理新的 PHP 请求了,Nginx 将给用户返回...fastcgi_read_timeout 语法:fastcgi_read_timeout time 默认值:fastcgi_read_timeout 60 使用字段:http, server, location...在Nginx+FastCGI 配置测试中 其中在request_terminate_timeout设置为永不超时的情况下,nginx中fastcgi_read_timeout 的设置时间将影响到最终的超时时间
生成指定范围内的随机数 这个是最常用的技术之一。程序员希望通过随机数的方式来处理众多的业务逻辑,测试过程中也希望通过随机数的方式生成包含大量数字的测试用例。问题...
我们从字符串当中删除一个字符,需要把后面所有的字符往前移动一个字节的位置。但如果每次删除都需要移动字符串后面的字符的话,对于一个长度为n的字符串而言,删除一个字符的时间复杂度为O(n)。...我们可以设想,当一个字符需要被删除的时候,我们把它所占的位置让它后面的字符来填补,也就相当于这个字符被删除了。...在具体实现中,我们可以定义两个指针(pFast和pSlow),初始的时候都指向第一字符的起始位置。当pFast指向的字符是需要删除的字符,则pFast直接跳过,指向下一个字符。...用这种方法,整个删除在O(n)时间内就可以完成。 接下来我们考虑如何在一个字符串中查找一个字符。当然,最简单的办法就是从头到尾扫描整个字符串。
ngx_log_if是Nginx的一个第三方模块。..."CustomLog env = XXX" 第一步: 先到Github下载ngx_log_if地址https://github.com/cfsego/ngx_log_if/ 第二步: 安装第三方模块到Nginx...第三方模块的安装可以参考http://wiki.nginx.org/3rdPartyModules 使用--add-module添加解压后的ngx_log_if如下 ..../configure --add-module=/var/local/ngx_log_if-master 然后再编译安装Nginx即可。...即可过滤不显示特定的日志了
安装Nginx apt-get install nginx (要最新版本下载下来编译吧) 装完应该能正常运行了。如果之前有装APACHE要改下端口。。。...或者直接 apt-get remove apache2 /etc/init.d/nginx stop /etc/init.d/nginx start 安装php-cgi apt-get install...Ubuntu下是/etc/php5/cgi/php.ini 之前有安装过php的话会复制apache的配置文件 打开cgi.fix_pathinfo选项: cgi.fix_pathinfo=1; 改Nginx...enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200; 创建VHost配置(这里只说Ubuntu下的,也就路径和包含文件目录的区别了) 在/...etc/nginx/sites-available/下创建服务器配置文件比如myserver ln -n /etc/nginx/sites-available/myserver /etc/nginx/sites-enabled