2019-10-9:渗透测试,基础学习,php文件上传,mysql基础
header("Content-Type:text/html;charst="utf-8")设置头部信息,解决编码问题
setcookie("loginString",$value,0,"/","localhost",false,true);
参数说明第一个参数指定cookie的标识符key
第二个参数指定cookie的值
第三个参数指定cookie生存期
第四个参数指定,该cookie的作用域,将在Cookie上可用的服务器上的路径。
如果设置为“/”,cookie将在整个域中可用。如果设置为'/fo/',
cookie将只在/fo/Directory和所有子目录(如/Fo/Bar /域)中可用。
默认值是正在设置Cookie的当前目录。
第五个参数,domain,对哪个域设置一个cookie
第六个参数规定是否通过安全的 HTTPS 连接来传输 cookie
第七个参数用于指定,该cookie的属性是否是http-only,意思是无法通过js代码来获取cookie值
php文件上传
有关上面的 HTML 表单的一些注意项列举如下:
<form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。
<input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮
通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的 input name,第二个下标可以是 "name"、"type"、"size"、"tmp_name" 或 "error"。如下所示:
$_FILES["file"]["name"] - 上传文件的名称
$_FILES["file"]["type"] - 上传文件的类型
$_FILES["file"]["size"] - 上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码
explode(标识,字符串),按照标识来将字符串分割为数组
explode(".","text.te.png")==array("text","te","png")
@end(explode(".",$_FILES["file"]["name"]));
in_array(字符,数组),判断字符在数组中是否存在,有就返回true
move_uploaded_file(临时文件位置,目的位置)
file_exists(文件名),检查文件或目录是否存在,如果存在则返回true
php文件管理,文件的打开,关闭,读取,写入
fopen(参数1,打开文件的位置,需要文件路径和文件名,参数2,打开文件的方式),函数fopen()打开文件
打开方式:
r ,只读。在文件的开头开始。
r+ ,读/写。在文件的开头开始。
w ,只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+ ,读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a ,追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。
a+ ,读/追加。通过向文件末尾写内容,来保持文件内容。
x ,只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
fclose(句柄,就是打开的文件),关闭文件
feof(),检测是否到达文件末尾,如果没有到达文件末尾,返回值是false
fread(打开的文件,读取文件的大小,单位是字节),读取指定文本大小的内容
fgets(句柄) 函数用于从文件中逐行读取文件,如果需要将整个文档都读取出来,就使用feof()函数+fgets(),循环读取
fgetc(句柄)函数用于读取单个字符
file()将整个文档中数据读取到数组中,一行对应一个单元
file_get_contents(),将整个文档的数据读取到字符串中
file_put_contents(文件名,数据),写数据,如果文件名不存在,创建该文件,如果存在就覆盖内容
basename(),获取路径下的文件名
dirname(),获取文件路径
copy(源文件,目标文件),拷贝文件
unset(), unlink(),删除文件
命令执行函数,通过php中某些函数,去执行系统命令和系统进行交互
常用命令执行函数,
system(“系统命令”)
exec(“系统命令”,可选数组)
shell_exec(‘系统命令’)
··,上引号,键盘~键的另外一个符号
代码执行函数,使用php的某些函数,去执行字符串类型的php代码,注意php代码要求按照php标准来写
常用代码执行函数,
eval(“php代码;”),执行字符串类型的代码
assert(“代码”),执行字符串类型的代码,代码最后的分号,可要可不要
preg_replace(/正则表达式/,替换的字符,目标字符串),如果要执行代码解析,需要使用/e模式的,替换的字符中的代码就会被执行,要执行的代码需要写成完整的函数
数据库管理
mysqli,轻量级数据库,适用于中小型企业,性能好,开源
mssql,需要安装到windows系统中,不支持跨平台,适用于中大型企业
access,小巧方便,适用于小型企业,小型项目
oracle,收费的,适用大型企业,跨平台,性能高,硬件要求高
常用框架组合
mysql+php
mssql+asp,aspx
oracle+java
access+asp
oracle+jsp
数据库模型
关系型数据库,也叫结构化数据库,mysql,mssql,oracle ,db2等,有库有表
非关系型数据库,也叫非结构化数据库,redis,mongodb,nosql,postgresql,hbase等等,一个键一个值
管理Mysql数据库的方式
DOS命令下管理,需要配置mysql环境变量,mysql -u -p 输入对于的账号密码,-p后可以不直接输入密码
phpmyadmin,基于web网页数据库管理平台
mysql-front,开源的c/s模式的数据库管理平台
navicat,工具,功能强大的数据库管理平台,收费
mysql数据库结构
数据库名-->数据表-->表头(字段名)--->数据内容
表中有几个字段,就会有几列数据
一行数据叫做一个记录
管理Mysql数据库的常用命令,dos下mysql命令需要加;分号
mysql -u -p
show database;查看所有数据库
use mysql; 表示进入mysql数据库
show tables;查看当前数据库中的数据表
select * from table_name;查看表中所有数据
2019-10-9:渗透测试,基础学习,php文件上传,mysql基础的更多相关文章
- MVC&WebForm对照学习:文件上传(以图片为例)
原文 http://www.tuicool.com/articles/myM7fe 主题 HTMLMVC模式Asp.net 博客园::首页:: :: :: ::管理 5 Posts :: 0 ...
- salesforce lightning零基础学习(十七) 实现上传 Excel解析其内容
本篇参考: https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader https://github.com/SheetJS/sheetjs ...
- SpringMVC基础(二)_文件上传、异常处理、拦截器
实现文件上传 实现文件上传,需要借助以下两个第三方 jar 包对上传的二进制文件进行解析: commons-fileupload commons-io form表单的 enctype 取值必须为:mu ...
- nodejs学习之文件上传
最近要做个图片上传的需求,因为服务端春节请假回家还没来,所以就我自己先折腾了一下,大概做出来个效果,后台就用了nodejs,刚开始做的时候想网上找一下资料,发现大部分资料都是用node-formida ...
- springMVC3学习(十一)--文件上传CommonsMultipartFile
使用springMVC提供的CommonsMultipartFile类进行读取文件 需要用到上传文件的两个jar包 commons-logging.jar.commons-io-xxx.jar 1.在 ...
- requests 进阶用法学习(文件上传、cookies设置、代理设置)
一.文件上传 1.模拟网站提交文件 提交此图片,图片名称:timg.jpg import requests files={ 'file':open('timg.jpg','rb') } respons ...
- JavaWeb学习总结——文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- Struts2学习总结——文件上传与下载
Struts2文件上传与下载 1.1.1新建一个Maven项目(demo02) 在此添加Web构面以及 struts2 构面 1.2.1配置Maven依赖(pom.xml 文件) <?xml v ...
- javaWeb学习总结——文件上传、下载
目录 1.文件上传环境搭建 2.文件上传代码实现 3.关于下载 @ 嘿,熊dei,你不得不知道在Web开发中,文件上传和下载功能是非常常用的功能,关于文件上传,浏览器上传[文件以流的形式传输]--&g ...
- PHP学习之文件上传类
<?php $up = new Upload(); $newPath = $up->uploadFile('fm'); if ($newPath === false) { var_dump ...
随机推荐
- ORACLE定时备份方案
ORACLE定时备份方案 采用ORACLE的EXP工具,实现ORACLE的备份:采用LINUX的服务crond实现定时功能. 1 编辑SH,实现备份功能 #vi oracle_backup.sh,输入 ...
- JVM(1) Java内存区域
对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题.不过,也正是因为Java程序员把内存控制的权 ...
- Udp 异步通信(三)
转自:https://blog.csdn.net/zhujunxxxxx/article/details/44258719 1)服务端 using System; using System.Colle ...
- Rest_Framework之认证、权限、频率组件源码剖析
一:使用RestFramwork,定义一个视图 from rest_framework.viewsets import ModelViewSet class BookView(ModelViewSet ...
- 认识JVM的内存分配
当我们在JVM中运行一段程序代码,JVM初始运行的时候都会分配好Method Area(方法区)和Heap(堆),而JVM每遇到一个线程,就为其分配一个Program Counter Register ...
- Just For Test
Just For Test
- Elastic search集群新增节点(同一个集群,同一台物理机,基于ES 7.4)
一开始,在电脑上同一个集群新增节点(node)怎么试也不成功,官网guide又语焉不详?集群健康值yellow(表示主分片全部可用,部分复制分片不可用) 最后,在stackoverflow上找到了答案 ...
- 适用于Windows桌面应用程序的.NET Core 3
介绍 9月,微软发布了新版.NET Core,用于构建Windows桌面应用程序,包括WPF和Windows Forms.从那时起开发人员可以将传统的nfx桌面应用程序(和控件库)迁移到.NET Co ...
- 调用微信js sdk
场景:需要调用微信获取当前位置的借口. 途径:查看微信 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 .后 ...
- 优化 Git Commit Message
目前很多项目都是通过 Git 进行管理的,Git 每次提交代码的过程中 提交说明 commit message 是必须的.但仅仅必须是不够的,好的提交说明可以帮助我们提高项目的整体质量. 作用与优点 ...