隐藏php和nginx的版本号、错误码

通常在请求返回时会随带php和nginx的版本号,这样是不安全的,会被人针对版本进行攻击。php和nginx提供了隐藏版本号的方法,只需要简单配置下就可以了。php://php中的php.ini文件,修改配置expose_php=On//On改为Off即可nginx://nginx的nginx.conf文件,修改配置server_tokensoff;//切记是在http下哦error_page404=200/404.html;//隐藏错误码,只需利用=进行自定义设置即可;其中200不设置也可,返回的就是随机的错误码了改完之后都重新启动下就完成了。...

构建php frame

使用composer的自动加载、命名空间及shell脚本,构建原生php框架 #smarty-frame运用php构建自己的框架根目录/application:应用程序核心目录  根目录/configs下:    config:应用配置文件    db:数据库配置文件    routes:路由配置文件    fileCache:文件缓存配置    redisCache:redis缓存配置  根目录/src下:考虑将来框架可能还要支持php脚本的执行,所以要将base和web分开,将来要加php脚本时,只需要建立一个console的文件夹就好了。    base:存放基础的类      base下:        Application:框架底层基础类          一个抽象类,实现了一个简单的run方法,run方法就是去执行以下handleRequest方法。          定义了一个抽象方法handleRequest,等待被继承,实现。        Controller:包含控制器逻辑的基类          不需要每写一个要去渲染页面的action,都要去找相应...
代码星球 代码星球·2021-02-18

php---PDO使用及总结

再使用php进行原生框架搭建的过程中,发现即使sql语句错误,php的pdo是不会报错的,非常奇怪然后研究了下,发现原来pdo默认是不报错的,想要报错就要满足两个条件:1、需要将错误处理模式变成异常模式  $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);2、所有可能出错的语句都必须进行捕捉  try{    //code  }catch(PDOExecption$e){    //错误信息处理  } 总结:pdo使用:$pdo=newPDO("mysql:host=localhost;dbname=kong","root","");$pdo->query();//执行的是select语句,返回值是PDOStatement对象。$pdo->fetchAll(PDO::FETCH_ASSOC);//通过一次调用返回全部结果,并以数组方式保存$pdo->exec();//执行的是返回值为intl的sql语句:增加,修改,删除$pdo->exective();//执行的是预处理语句...
代码星球 代码星球·2021-02-18

执行php文件保存eval()’d code

原因是使用了php的函数eval,但是却没有正确使用。可以看官方文档eval的用途是:将字符串解析成php语句,前提是字符串符合php语法。正确实例:eval('?>self::$obj=new'.$a['controller'].'();<?php'); ...

php判断数组是一维还是多维

if(count($arr)==count($arr,1)){echo'一维数组';}else{echo'多维数组';}...

php获取前一天,前一个月,前一年的时间

获取前一天的时间:date("Y-m-dH:i:s",strtotime("-1day"));获取三天前的时间:date("Y-m-dH:i:s",strtotime("-3day"));获取前一个月的时间:date("Y-m-dH:i:s",strtotime("-1month"));获取前3个月的时间:date("Y-m-dH:i:s",strtotime("-3month"));获取前一个小时的时间:date("Y-m-dH:i:s",strtotime("-1hour"));获取前一年的时间:date("Y-m-dH:i:s",strtotime("-1year"));...

解决php -v查看到版本与phpinfo()版本不一致问题

安装p7后发现phpinfo的版本是7.2.12,而php-v查看的却是5.4.16应该是php.ini的配置文件有问题。查看文件,有两个 查看cli执行的文件是哪一个?再查看phpinfo用的是哪一个?好了,问题点找到了,不一致,修改吧。//临时添加,直接执行exportPATH="/usr/local/php/bin:$PATH"//永久添加vi/etc/profile//最后一行添加exportPATH="/usr/local/php/bin:$PATH"执行source/etc/profile,生效 ...

php中加密和解密

项目要和第三方进行接口对接,所以数据的安全很重要。第一次自己设计并实现,学习记录下网上查了很多资料,真的很深奥对称加密:  双方共用一个约定好的密钥进行数据的加密和解密,但是当密匙丢失,数据将有泄露风险。实例:$input_str='阿达854aa';echo'被加密的字符串:'.$input_str.'<br>';$key='159';$iv='1234567812345678';//须是16位$encrypted=openssl_encrypt($input_str,'aes-128-cbc',$key,OPENSSL_RAW_DATA,$iv);echo'加密后的字符串:'.$encrypted.'<br>';$data=base64_encode($encrypted);echo'加密编码后的字符串:'.$data.'<br>';$de_data=base64_decode($data);echo'加密解码后的字符串:'.$de_data.'<br>';$decrypted=openssl_decrypt($de_data,'ae...
代码星球 代码星球·2021-02-18

nginx + php + mysql安装、配置、自启动+redis扩展

 用过了apache就想着用用nginx,网上教程其实很多,但是受服务器版本等限制,每个人遇到的问题也不一样,先记录下我的一.安装依赖yum-yinstallgcczlibzlib-develpcre-developensslopenssl-devel  //一键安装四个依赖二.下载nginx的tar包//创建一个文件夹cd/usr/localmkdirnginxcdnginx//下载tar包没有wget命令,可以yum-yinstallwget进行安装wgethttp://nginx.org/download/nginx-1.13.7.tar.gz//解压tar-xvfnginx-1.13.7.tar.gz三.安装nginx//进入nginx目录cd/usr/local/nginx/nginx-1.13.7//执行命令./configure//执行make命令,,执行后会告诉你配置文件(根目录/conf/nginx.conf)和日志文件位置(根目录/logs/error.log)make//执行makeinstall命令makeinstall四.启动nginx前防火墙开通8...

Win10下PHP加载php8_module报错“Can‘t locate API module structure `php8_module‘ in file XXX“解决方法供参考

关于PHP加载php8_module报错"Can’tlocateAPImodulestructure`php8_module’infileXXX"。解决方法是:将php8_module中php的版本号去掉,改成:php_module。如:LoadModulephp_module‘C:/php8/php8apache2_4.dll’.改了之后apache如果不能启动需要安装VC++2019...

Centos7下yum安装配置nginx与php

实现LNMP环境搭建。开始安装Nginx和PHP-FPM之前,首先卸载系统中以前安装的Apache和PHP保证安装不会冲突。用root登录输入下面的命令: [plain] viewplain copy yum remve httpd* php*  增加额外资源库     默认情况下,CentOS的官方资源是没有php-fpm的,但我们可以从Remi的RPM资源中获得,它依赖于EPEL资源。我们可以这样增加两个资源库:[plain] viewplain copy yum install nginx  安装完成后可以启动nginx,在浏览器里面访问,查看nginx是否安装成功。端口默认为80。[plain] viewplain copy systemctl start nginx  nginx中yum安装的默认网站...

Centos7 搭建lnmp环境 (centos7+nginx+MySQL5.7.9+PHP7)

阿里云一台服务器出现问题!我估计是一键安装包环境的原因,所以打算重新搭建下环境!首先,当然是先做好快照!安全第一!对系统盘做更换系统操作,装上纯净版的centos。 装好后,进入系统一、挂载数据盘df-h只有系统盘了,挂载上原来的数据盘fdisk-l看到数据盘了/dev/vdb1挂载上这个数据盘,mkdir/data0mount/dev/vdb1/data0然后写入分区:echo'/dev/vdb1/data0ext4defaults00'>>/etc/fstab不写入分区表,重启后又要挂载的。怎么知道分区类型是ext4,用这个命令:df-hT 好的成功了! 二、安装nginx首先更新系统软件#yumupdate安装nginx1.安装nginx源#yumlocalinstallhttp://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2.安装nginx#yuminstallnginx3.启动nginx#servicengin...

thinkphp生成的验证码不显示问题解决

在调用验证码之前加上ob_clean();不显示验证码的代码:public function verify(){                $verify = new ThinkVerify();                $verify->entry();        }复制代码修改为:public function verify(){              &nb...

Windows服务器PHPstudy配置安装微擎教程

此教程只适于无环境的新服务器,有环境请勿安装用电脑上面的远程桌面连接登陆服务器。1,下载微擎安装包,下载PHPstudy,下载V9运行库。安装PHPstudy。安装V9运行库。准备好3个。 <ignore_js_op> v9运行库.exe (3.94MB,下载次数:5681) 、下载PHPstudy、下载微擎安装包<ignore_js_op> 根据实际情况的盘符安装PHPstudy<ignore_js_op> 安装支持PHP5.3运行的V9运行库<ignore_js_op> 2、调整php与mysql的参数<ignore_js_op> php参数修改为max_execution_time=300memory_limit=512Mpost_max_size=50Mupload_max_filesize=50M<ignore_js_op> mysql参数修改为key_buffer_size=512Mtable_cache=512t...

PHP Fatal error: Class 'DOMDocument' not found

 PHPFatalerror: Class'DOMDocument'notfound给PHP添加xml模块:yuminstallphp-xml 如果是PHP5,则用yuminstall php55w-xml...
首页上一页...1213141516...下一页尾页