检查上传图片是否合法的函数,木马改后缀名、图片加恶意代码均逃不过
今天试了下AspJpeg组件,发现用AspJpeg组件去处理不正常的图片文件的时候就会出错,呵呵,这个正好可以让我们用来检查图片的合法性,偶给封装成函数了~
代码如下:
'-------------------------------------------
'函数名:chkimg
'作 用:检查图片文件是否合法
'参 数:img,图片路径
'返回值:布尔类型
'条 件:服务器必须支持AspJpeg
'-------------------------------------------
Function chkimg(img)
on error resume Next
chkimg=True
if isnull(img) then chkimg=false:exit function
Set chkJpeg = Server.CreateObject("Persits.Jpeg")
chkPath = Server.mappath(img)
chkJpeg.Open chkPath
If Err Then
chkimg=False
End If
If err.number<>0 Then err.clear
Set chkjpeg=Nothing
End Function
因为AspJpeg只能处理已经在服务器上的文件,所以实际运用的过程中我们可以这样做:先将图片上传到一个临时文件夹,然后检查图片的合法性,如果合法,复制图片到图片保存目录,删除临时文件并返回上传成功信息,如果非法,直接删除临时文件并返回错误警告。
相关推荐
-
检查上传图片是否合法的函数,木马改后缀名、图片加恶意代码均逃不过
今天试了下AspJpeg组件,发现用AspJpeg组件去处理不正常的图片文件的时候就会出错,呵呵,这个正好可以让我们用来检查图片的合法性,偶给封装成函数了- 复制代码 代码如下: '------------------------------------------- '函数名:chkimg '作 用:检查图片文件是否合法 '参 数:img,图片路径 '返回值:布尔类型 '条 件:服务器必须支持AspJpeg '------------------------------------------
-
使用PHP接受文件并获得其后缀名的方法
HTML的form表单 用html的表单模拟一个文件上传的post请求,代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="
-
C#遍历文件夹获取指定后缀名文件
本文实例为大家分享了C#遍历文件夹获取指定后缀名文件的具体代码,供大家参考,具体内容如下 问题描述: 项目需要,要进行某文件夹下所有shp数据的读取 解决方法: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.
-
php 获取文件后缀名,并判断是否合法的函数
核心代码 /** * 获取文件后缀名,并判断是否合法 * * @param string $file_name * @param array $allow_type * @return blob */ function get_file_suffix($file_name, $allow_type = array()) { $file_suffix = strtolower(array_pop(explode('.', $file_name))); if (empty($allow_type))
-
PHP自带方法验证邮箱、URL、IP是否合法的函数
以前用PHP验证邮箱.URL.IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带了验证邮箱.URL.IP是否合法的函数. 主要使用的是filter_var函数. 语法 filter_var(variable, filter, options) 参数 描述 variable 必需.规定要过滤的变量. filter 可选.规定要使用的过滤器的 ID. options 规定包含标志/选项的数组.检查每个过滤器可能的标志和
-
PHP 检查扩展库或函数是否可用的代码
本文介绍的函数其实是PHP手册上本来就有的,但是由于这些函数独立性较强,查找不易,所以单独介绍一下,方便查阅. 1. 获取所有可用的模块 - get_loaded_extensions 该函数返回所有已经加载的(可用的)模块. 用法: 复制代码 代码如下: print_r(get_loaded_extensions()); 2. 获取指定模块的可用函数 - get_extension_funcs 该函数返回指定模块所有可用的函数.传入的参数(模块名称)必须是小写 用法: 复制代码 代码如下: p
-
详解Python相关文件常见的后缀名
常见的 Python 文件后缀有:py.pyc .pyo. pyi.pyw. pyd. pyx 等. 本文只介绍相对常见的一些后缀名,至于一些特别冷门的文件格式,例如一些文章提到的pyz.pywz.rpy.pyde.pyp. pyt等,并没有进行研究.因为这些扩展名资料很少,网上搜到的文章似乎都是同一个出处,只是简单提了一句,说了等于没说. py 最常见的 Python 源代码文件. 实际上如果用 python + 文件 的方式运行代码,只要文件内容相同,后缀名是不重要的,也就是说下面的运行结果
-
php 图片加水印与上传图片加水印php类
一个正规的网站,在需要上传图片时,往往都会需要在图片上增加自己网站的LOGO水印.那么如何实现这一步骤呢?首先让我们来了解PHP图片加水印的原理. 通过判断文件类型建立图形,然后把其复制到原建立的图形上,填充并建立rectangle,以备写入imagestring()或是在原已经定好的图像程序当中判断水印类型:一是字符串,另是增加一个图形对象在上面.以下是PHP图片加水印的转载! 参数说明: $max_file_size : 上传文件大小限制, 单位BYTE $destination_folde
-
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
网上有很多php文件上传的类,文件上传处理是php的一个特色(至少手册上是将此作为php特点来展示的,个人认为php在数组方面的优异功能更有特色),学php的人都知道文件上传怎么做,但很多人在编程中却可能忽视了一些细节问题,那就是文件的类型(MIME).在表单将文件提交给php做处理之前,浏览器会先解析识别一边是什么类型的文件,之后进入php处理环节,php又会去识别解析此文件的原始类型(并不是说你改成什么后缀就是什么文件).在这个过程中会有一些浏览器兼容,更准确来说是文件类型解析标识不一致的问
-
js判断上传文件后缀名是否合法
本文实例介绍了js判断上传文件后缀名是否合法的详细代码,分享给大家供大家参考,具体内容如下 效果图: 选择文件 选择1.jpg文件 上传成功合法 除图片文件格式以外,其他都是不合法的操作. 具体代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>判断文件上传是否合法</tit
随机推荐
- AngularJS入门教程之多视图切换用法示例
- 正则中需要转义的特殊字符小结
- sql注入过程详解_动力节点Java学院整理
- javascript实现动态显示颜色块的报表效果
- php版微信公众平台接口参数调试实现判断用户行为的方法
- Python中的XML库4Suite Server的介绍
- Linux系统下使用rpm方式安装最新mysql5.7.17完整步骤
- MySQL全文索引应用简明教程
- js加载读取内容及显示与隐藏div示例
- cookie的复制与使用记住用户名实现代码
- jQuery文字提示与图片提示效果实现方法
- Linux进程间通信——使用流套接字
- 微信小程序技巧之show内容展示,上传文件编码问题
- Linux ProFTPd安装与卸载详细介绍
- Java中常用加密/解密方法详解
- python通过zlib实现压缩与解压字符串的方法
- php-fpm重启导致的程序执行中断问题详解
- pandas series序列转化为星期几的实例
- Python 中Django安装和使用教程详解
- C#中Task.Yield的用途深入讲解