【原创】ThinkPHP5模块和控制器隐藏问题

【原创】ThinkPHP5模块和控制器隐藏问题
由于默认是采用多模块的支持,所以多个模块的情况下必须在URL地址中标识当前模块,如果只有一个模块的话,可以进行模块绑定,方法是应用的入口文件中添加如下代码: // 绑定当前访问到index模块 define('BIND_MODULE','index'); 绑定后,我们的URL访问地址则变成: http://serverName/index.php/控制器/操作/[参数名/参...

阅读全文>>

阅读全文...

ThinkPHP5.0.10-3.2.3缓存函数设计缺陷可导致Getshell

ThinkPHP5.0.10-3.2.3缓存函数设计缺陷可导致Getshell
0x00 框架运行环境 ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。 Thinkphp在使用缓存的时候是将数据 序列化 然后存进一个php文件中这就导致我们了我们在一些情况下可以直接getshell ...

阅读全文>>

阅读全文...

【原创】GitHub OAuth第三方登录认证获取用户信息错误403

【原创】GitHub OAuth第三方登录认证获取用户信息错误403
GitHub的OAuth认证流程可参考文档 OAuth documentation access_token的获取如下: POST https://github.com/login/oauth/access_token Parameters Name Type Description ...

阅读全文>>

阅读全文...

json_encode注意

json_encode注意
PHP5.2或以上的版本把json_encode作为内置函数来用,但只支持utf-8编码的字符,否则中文就会出现乱码或者空值。解决办法如下: 1.保证在使用JSON处理的时候字符是以UTF8编码的。具体我们可以把数据库编码和页面编码都改为UTF8。如果喜欢用gbk编码的话,可以在进行JSON处理前,把字符转为UTF8形式。在PHP中有如下方法: <?php $dat...

阅读全文>>

阅读全文...

记一次面试题(用PHP写一个检测重复文件的脚本)

记一次面试题(用PHP写一个检测重复文件的脚本)
大概的题目意思是利用PHP写一个脚本,调用如: php.exe shell.php ./tmp ./dir/123 返回结果如: 123.php 222.php ------------ 22.abc 3.xml ------------ 我的代码: <?php unset($argv[0]); foreach ($argv as $v) { ...

阅读全文>>

阅读全文...

记两题笔试题

记两题笔试题
<?php /** * 1、我们的程序运行过程中每分钟会采集一个整数的数据指标。 * 持续采集n分钟就得到一个有n个元素的整数数组a[n]。 * 现在我们需要一个简单的算法,检测采集到的数据指标中,是否有异常。 * 异常的检测标准是:如果在连续m分钟内的指标的平均值大于w,则说明有异常。 * 输入:数组a[n],...

阅读全文>>

阅读全文...

让Json更懂中文(JSON_UNESCAPED_UNICODE)

让Json更懂中文(JSON_UNESCAPED_UNICODE)
作者: Laruence(   ) 本文地址: http://www.laruence.com/2011/10/10/2239.html 转载请注明出处 我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式, 还会在一定程度上...

阅读全文>>

阅读全文...

PHP中CURL的CURLOPT_POSTFIELDS参数使用细节

PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
CURL确实是一个不错的好工具,不仅在PHP中还是其他的操作系统中,都是一个非常好用的。但是如果你有些参数没有用好的话,那可能会得不到自己理想中的结果。 在通常情况下,我们使用 CURL 来提交 POST 数据的时候,我们已经习惯了这样的写法: curl_setopt( $ch, CURLOPT_POSTFIELDS,$post_data); 但是这样的写法在有时候并不会很好用,可能会...

阅读全文>>

阅读全文...