PHP代码审计tips
1、$_SERVER[‘PHP_SELF’]和$_SERVER[‘QUERY_STRING’],而$_SERVER并没有转义,造成了注入。
例如:
Default…
记录-交流-Web开发知识分享
1、$_SERVER[‘PHP_SELF’]和$_SERVER[‘QUERY_STRING’],而$_SERVER并没有转义,造成了注入。
例如:
Default…
调用api的客户端程序,需要在header处发送
API_ID: 1
API_TIME: 时间戳
API_HASH: $clienthash
$user="username";
$publicKey='hello';
$privateKey= hash_hmac('sha256', $user, $publicKey); 需要先把客户端程序的privateKey存入数据库.
$data=json字符串.
$clienthash = hash_hmac('sha256', API_TIME.API_ID.$data, $privateKey);
API端验证:
$serverHash = hash_hmac('sha256', API_TIME.API_ID.$data, $privateKey);//到数据库查找此客户端的…
PHP 安全优化
PHP Security Optimization
2014
总则
对安全一定要重视!
2PHP程序要点…
php上传类(安全上传类)
[php]
<?php
//php文件上传类
//author: lenix 2014.10.7<!--more-->
header("Content-Type:text/html; charset=utf-8");
date_default_timezone_set("Asia/Shanghai");
class UploadFile
{
private $imageType=["image/gif","image/jpeg","image/jpg","image/png","image/x-png","image/bmp","image/x-ms-bmp","image/pjpeg"];//图片类型
private $fileType=["application/zip","application/msexcel","application/xml","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/mspowerpoint","application/vnd.ms-powerpoint","application/pdf","application/x-shockwave-flash","application/x-rar-compressed","application/x-rar","audio/mpeg","audio/x-ms-wma","flv-application/octet-stream","audio/x-ms-wmv","video/mp4","video/x-flv","audio/x-wav","application/msword","video/mpeg"];//文件类型
private $tmpName;
private $fileName;
private $error;
private $fileSize;//上传文件大小
private $maxSize=10000000;//最大允许上传大小
private $upName;
private $upDir="uploadfile/";//上传目录
//构造函数 默认为图片上传
function __construct($upType="image")
{
$this->tmpName = $_FILES["file"]["tmp_name"];
$this->fileName …
还有网上那个对nginx上传目录无执行权限
这些配置表面上看起来是没什么问题的,确实在windows下可以这么说。
但是*nux就不同了,大家都是知道的*nux操作系统是区分大小写的,这里如果换成大写后缀名*.phP一类就bypasss了
这里我说下我个人的解决方法:
mysql用户权限设置 保证安全
如下图,在phpmyadmin中设置如下
…
第一种:
<?php
function encode_file_contents($filename) {
$type=strtolower(substr(strrchr($filename,'.'),1));
if('php'==$type && is_file($filename) && is_writable($filename)){// 如果是PHP文件 并且可写 则进行压缩编码
$contents = file_get_contents($filename);// 判断文件是否已经被编码处理
$contents = php_strip_whitespace($filename);
// 去除PHP头部和尾部标识…
以下PHP内置函数能增加PHP代码的安全性:
类型转换(非函数)
(int), (integer) - 转换为整数
(bool), (boolean) - 转换为布尔值
(float), (double), (real) - 转换为浮点数
(string) - 转换为字符串
(array) - 转换为数组…
360发布通用php防护代码,其实最初是协助phpcms来防护安全用的,现在看来可以加入到任何有漏洞的网站里面,拿phpcmsv9问题,解决方案如下,其他网站以此类推!
近期评论