首页
学习
活动
专区
圈层
工具
发布

Typecho 免插件接入又拍云CDN

原理 如果你有了解过PHP,那么你可能知道PHP有个函数ob_get_contents(),这个函数的作用是把缓冲区的内容读取到变量中。 什么是缓冲区?...缓冲区就是在服务器渲染网页时暂存渲染结果的内存空间。 把输出读取到变量中,就任我们宰割了,直接把URL替换一下再输出就可以了。...Typecho 静态资源默认都是在/usr目录下的,如果修改过就不能用了。所以要读取Typecho的配置进行替换。 ? 主题代码修改 2.新建完成后配置缓存规则 我的规则匹配参数是 /*....把下面的代码放到footer.php最后就可以使用又拍云CDN加速了 themeUrl, '/')); define("THEME_NAME", end(explode("/", THEME_URL))...str_replace('//', '/', '/' .

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

    php代码审计-sql注入进阶篇

    但是在实际的网站中和用户的输入输出接口不可能想那样没有防御措施的。现在各大网站都在使用waf对网站或者APP的业务流量进行恶意特征识别及防护,避免网站服务器被恶意入侵。...php require 'db.php'; header('Content-type:text/html;charset=utf8'); $username=dl($_POST['username'])...注入成功 url编码绕过 在平常使用url提交数据时,web容器在接到url后会自动进行一次url编码解析,但是由于业务问题有些网站在web容器自动解析之后,通过编写程序对解析的参数进行再次url编码解析...没有危险字符才会执行下面的代码,接着把id1里的参数进行一次url解编码并赋值给 注入语句 分析代码时说到客户端传入的参数会进行两次url编码解析之后带入数据库,但危险过滤是在第一次解析之后第二次解析之前执行的...把经过两次编码后的and提交数据会经过web容器解码后变为%61%6e%64,preg_match判定就不会触发。

    2.5K10

    看代码学安全(9 )str_replace函数过滤不当

    如下: str_replace(字符串1,字符串2,字符串3):将字符串3中出现的所有字符串1换成字符串2。...str_replace(数组1,字符串1,字符串2):将字符串2中出现的所有数组1中的值,换成字符串1。...漏洞文件在 app/system/include/module/old_thumb.class.php 中,我们发现程序将变量 $dir 中出现的 ../ 和 ./ 字符替换成空字符串(下图第6行处),..., true); // 从 PHP 5.3.0 起 // 上面输出:hongrisec 然而这段代码是可以绕过的,例如我们使用 payload:........漏洞利用 实际上攻击的话就很简单了,因为 $dir 变量是直接通过 GET请求 获取的,然后用 str_replace 方法处理,而 str_replace 方法处理又有问题,所以我们构造 payload

    2.5K30

    xss-labs详解(上)1-10

    > 正常输入并不可以,我们进行代码审计 使用了两次 htmlspecialchars 而我们的htmlspecialchars 默认不对'生效 正好这里的value...JavaScript伪协议 伪协议不同于因特网上所真实存在的协议,如http://,https://,ftp://, 而是为关联应用程序而使用的.如:tencent://(关联QQ),data:(用base64编码来在浏览器端输出二进制文件...),还有就是javascript: 我们可以在浏览地址栏里输入”javascript:alert(‘JS!’)...;”,点转到后会发现,实际上是把javascript:后面的代码当JavaScript来执行,并将结果值返回给当前页面。 Level 4 他这里只是把尖括号替换为了空 我们上我们的经典语句 发现了转义,他把尖括号转义了 但是这里并没有进行过滤 我们直接构造闭合value即可 Level 5 一套经典操作过后,发现,单引号没有被转义

    1.2K10

    PHP 输出控制

    默认情况下,输出一个字符串到浏览器,经过3个阶段PHP buffer->Tcp buffer->浏览器(IE浏览器有的版本也存在buffer) PHP默认是打开输出缓冲的,在php.ini中可以配置output_buffering...=4096(4kb,一个内存页),设置PHP输出缓冲大小 •flush — 刷新输出缓冲(按我的理解是刷新输出TCP bufer) •ob_clean — 清空(擦掉)输出缓冲区 •ob_end_clean...•ob_get_length — 返回输出缓冲区内容的长度 (PHP 4, PHP 5, PHP 7) ob_start — 打开输出控制缓冲 bool ob_start ([ callback $output_callback...function replace_content($content){ return str_replace('Kevin Durant', 'David West', $content); }...sleep(1); } 使用了系统默认的输出缓冲区,此时缓冲区大小为默认的4096个字节,所以必须调用ob_flush刷新输出PHP缓冲内容. 2.输出过程 //PHP默认缓冲区F 1 ob_start

    3.5K40

    typecho完全静态化

    ob_start(); //打开缓冲区 include("index.php"); $content = ob_get_contents(); //得到缓冲区的内容 $content .= "\n<script...完全静态化 你可以有2台服务器协作完成此操作 1台为html存放服务器(静态服务器) 1台为你的博客服务器(动态服务器) 步骤1 在静态服务器安装php,并创建 php文件,代码参考如下 str_replace('https://', '', str_replace('http://', "", $url)); exec("clear",$clc); echo $clc...然后你可以安装宝塔或者直接安装web服务器,将运行目录设置在采集完的目录 我的静态采集成功实例 静态web :https://static.fbk.ink 采集对象:https://fbk.ink 拓展使用...对此,你已经可以手动采集你博客页面了,但是,你也可以设置自动化采集 以上为我的自动采集脚本,十分简单,2天运行一次 在图片方面,我的博客在采集过程中发现无法采集文章图片,我认为最好的方案是将文章图片域名单独分开

    1.9K10

    商业级别Fortify白盒神器介绍与使用分析

    我就选择No,因为这是我私人的,我是在2015年7月份购买的试用期为1个月。怕更新了就用不了了。如果你购买了可以选择YES。 选择之后出现如下界面 浏览意思是:扫描之后保存的结果保存在哪个路径。...参数说明: enable clean :把上一次的扫描结果清楚,除非换一个build ID,不然中间文件可能对下一次扫描产生影响。...('}','',$string); $string = str_replace('\\','',$string); return $string; } include $c.".php"; 但是后面有个....php是拼接的。...set {$field_sql} where userid={$last_id}"; $query=$this->mysql->query($field_sql); 写入数据库的时候没有任何限制或者输出的时候没有做任何的过滤就直接输出导致造成了

    6K50

    PHP常见函数和过滤函数的深入探究

    举例,在这样的系统上, intval(‘1000000000000’) 会返回 2147483647。64 位系统上,最大带符号的 integer 值是 9223372036854775807。...r,��b 也就造成了md5注入 当传入的参数时数组的时候,和上述的sha1()一样的返回false ---- 0x08 strpos() strpos() 函数查找字符串在另一字符串中第一次出现的位置...这一点常在CTF中考到 stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写) strripos() - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写) strrpos...() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写) reference: http://www.w3school.com.cn/php/func_string_strpos.asp --...users #"); 输出:SQL 注入语句: user,pass from users # echo str_replace("select","","SQL 注入语句: selselectect

    3.2K90

    PHP精华

    — 清空(擦除)缓冲区并关闭输出缓冲 ob_end_flush — 冲刷出(送出)输出缓冲区内容并关闭缓冲 ob_flush — 先输出PHP的ob缓冲区中的内容,再清空缓冲区。...在ob_start中使用的用来压缩输出缓冲区中内容的回调函数。...strpos() 和strrpos() strpos() 返回字符串在另一字符串中首次出现的位置【对大小写敏感】 stripos() 返回字符串在另一字符串中首次出现的位置【对大小写不敏感】 strrpos...() 返回字符串在另一字符串中最后出现的位置【对大小写敏感】 strripos() 返回字符串在另一字符串中最后出现的位置【对大小写不敏感】 如果成功,则返回位置,否则返回 false。...它预设的限制时间是30秒,max_execution_time的值定义在结构档案中(在PHP3中叫做php3.ini,在PHP4则叫做php.ini),如果将秒数设为0,表示无时间上的限制。

    1.4K40

    PHP编程语言垃圾回收是什么?

    当然,object 也可能出现相同的情况,因为 object 始终隐式引用。 如果这种情况只发生一两次,可能不是问题,但如果出现数千次,甚至数百万次的内存损失,显然就成了问题。...这在长时间运行的脚本中尤为棘手,比如守护进程,其中请求基本上永远不会结束,或者在大量的单元测试集中。后者在运行 eZ Components 库的模板组件的单元测试时出现了问题。...(possible garbage root)在缓冲区中只出现一次。...每个变量只能被模拟删除一次,模拟删除后标记为灰(原文说确保不会对同一个变量容器减两次"1",不对的吧)。 在步骤 C 中,模拟恢复每个紫色变量。...因为这将清除已存放在根缓冲区中的所有可能根,然后在垃圾回收机制被关闭时,可留下空缓冲区以有更多空间存储可能根。

    70810

    代码实现WordPress自动关键词keywords与描述description

    ,断开 $description = '探讨电脑知识,分享网络资源';//在引号间写入你博客的简单描述,不要过200字 } //输出关键字 $output .= '<meta name="keywords...目前本站devework.com正在使用的代码: 在这个上面代码的基础上,我的代码是这样的: //自动关键词与描述 Devework.com function meta_SEO() { global $..."\n"; //输出描述 echo "$output"; } 代码还是放到你的主题下funtions.php的最后一个 ?>前。...而且在删除了最后一句add_action('wp_head', 'meta_SEO');//添加meta_SEO函数到头部信息里而直接在header.php文件的下面直接加上下面一句引用: php echo meta_SEO(); ?> 如果使用这个加上《代码重写WordPress网页标题为“原网页标题|网站名”的形式》的方法的话,基本上你可以不用 All in one seo插件啦~

    1.9K90

    PHP设计模式之装饰器模式

    相信如果有程序媛MM在的话,马上就能和你讲清楚这个设计模式。 Gof类图及解释 装饰这两个字,我们暂且把他变成化妆。...PHP_EOL; } } 两个具体装饰者。在这里我是涂了两次霜,毕竟是纯爷们,对化妆这事儿真的是不了解。好像第一步应该先是打粉底吧?...从代码中可以看出,我们是一直对具体的那个ConcreteComponent对象来进行包装 再往下的话其实我们是对他的operation()这个方法包装了两次,每次都是在前一次的基础上加了一点点东西 不要纠结于...对于推广类的短信来说,根据最新的广告法,我们是不能出现“全国第一”、“全世界第一”这类的词语的,当然,一些不太文明的用语我们也是不能使用的。...三是用组合实现了继承的感觉; 最适用于:给老系统进行扩展 要小心:过多的装饰者会把你搞晕的 不一定都是对同一个方法进行装饰,其实装饰者应该更多的用于对对象的装饰,对对象进行扩展,这里我们都是针对一个方法的输出进行装饰

    90030
    领券