经常会踫到这样的场景需求:批量向MySQL数据库插入数据,显然手工INSERT成千上万条数据是不现实的,所以自己写了这个shell脚本来处理。...1 具体需求 shell脚本批量插入10万条数据到MySQL中,其中对应表唯一索引是用户uid。因此在程序循环1万次数时,每次都使uid自增1就行了。.../bin/bash # FileName: batchinsertmysqlshell1.sh # Description: 使用shell脚本批量插入数据到MySQL中 # Simple.../batchinsertmysqlshell1.sh # mysql db name. db_name="gamedata" # mysql table name. table_name="test_user_skin...endTime} ====" 3 脚本管理 目前已经把这个脚本放在Github了,地址是https://github.com/vfhky/shell-tools,以后脚本的更新或者更多好用的脚本也都会加入到这个工程中
错误情况如题,出现这个错误的原因十分简单: 很明显,这是主键的问题。...在一张数据表中是不能同时出现多个相同主键的数据的 这就是错误的原因,解决的方法: 1.可以将这张表设置成无主键(mysql支持,其他不清楚)不推荐使用这种方法,一般数据表都是需要有主键的。
在解析IP地址的时候,遇到这样一个报错: IP地址信息文件没有找到,IP显示功能将无法使用 错误的IP数据库文件 错误的IP数据库文件 完整报错如下: 可以看到我的IP地址信息文件qqwry.dat...那为什么他没有找到呢,难道是加载的时候出问题了吗?...我又上去瞟了一眼我的路径,没错啊,这路径有啥问题吗,不是获取到了嘛?...咦,这汉字是哪来的,我突然想到,我的文件夹名字就叫代码 难道这两个汉字犯法嘛…可是兄弟你别忘了这可是在一个路径中啊,一个路径中存在中文它还真犯法… 于是我赶紧把中文路径换掉,重新启动,他果然好了,这时再看路径...IP也解析成功了 所以要切记:项目中不要使用中文路径!!!
变量是否定义,是否为空 if($keyword): 这样的语句如果在controller里没有set 到页面上判断语句会出错,改用表达式 isset($keyword) 表达式 gettype()...页面form中 后台处理请求 $kword=$_POST['kword']; cakePHP对应方法为 $kword=$this->params['form']['kword']; 使用时按照设置的顺序...$kword[index] index: 0-n php solr client api 取doc字段出现index not defined 错误解决方法: solr文档可能某些字段不全,当取多个文档显示时...,如果有的字段没有定义值会出现index not defined 错误 修改solr client api的Document文件 public function __get($key) { //key...>”在PHP中对PHP的分析器是可选的。 但是,如果使用闭合标签,任何由开发者,用户,或者FTP应用程序插入闭合标签后面的空格都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。
文章来源渗透云笔记作者团;伍默 在上一章节中,介绍了SQL注入的原理以及注入过程中的一些函数,但是具体的如何注入,常见的注入类型,没有进行介绍,这一章节我想对常见的注入类型进行一个了解,能够自己进行注入测试...一般来说,我们使用进行SQL注入测试时,都会使用'、",开发者为了防止SQL注入,将传入到的符号进行转义,例如php中addslashes函数,会将字符加上转义符号。...我们都知道”\“是转义符,也就是说最终where的是 id “1‘”(我特意用双引号表示),表中应该没有“1’”这个ID,结果应该为空,但实际上这条查询的结果和 SELECT * FROM users...8,无法正常显示)。...php文档提供了mysql_real_escape_string函数,需要在声明数据库使用的编码,否则宽字节注入仍然会发生。
大家好,又见面了,我是你们的朋友全栈君。 在这篇文章中,我尽量用最浅显易懂的语言来说明使用 PHP, MySQL 制作一个动态网站的基本技术。...MySQL 基础 使用 MySQL 数据库是存储数据的一种方法,MySQL 需要和 PHP 配合来完成对数据库的查询(这里术语“查询”包括写入、更新、读取等)操作。...在 PHP 中,可以使用 sha1() 函数进行加密(sha 即 secure hash algorithm 的首字母缩写),它是一种不可逆的加密,加密后会生成定长的一段字符串,并且是无法由这段字符串还原原密码的...这里我并没有强调 GET 方法的数值是“透明”的:虽然 POST 方法的数值不会显示在 URL 中,但是它还是会通过 HTTP Header 发送到服务器,用许多插件和小工具都可以查看 HTTP Header...但是,如果你觉得到处使用这个函数太麻烦了,可以省略 isset() 函数而直接使用这个元素,只不过如果它没有被设置的话会返回一个 notice 错误信息(类似于 C/C++ 中的变量未声明)。
(正常异常的标准是,和不加and一样就算正常) 之后使用order by探测字段数量,尝试到2时,发现返回正常。 ? 联合查询之后,发现页面中显示1: ?...使用version()替换联合查询中的1,得到版本: ? 同理我们可以查看database()和user()。 ? ? SqlMap 的使用 键入如下命令并执行: ? ? ? ? ? ?...并且我们之前判断的没有错,就是kg。 之后我们再获取kg中的表: ? ? ? ? 结果是没有找到任何表。 环境搭建 (这节内容课件里面没有,是我自己补充的。)...其实插入一条数据就够了,足以查看显示效果。 之后我们将以下内容保存为sql.php: 显示代码.有些时候不替换一些字符,如 无法查看到代码. load_file(char(47)) 可以列出FreeBSD,Sunos系统根目录 /etc tpd
0x01前言 回顾了下以前的代码审计 三个白帽,很经典 现在估计都没有了吧。 0x02 分析 源码如题, 在我本地间的构造了一个数据库,然后就运行了。 不难看出,有两个过滤的地方,一个是filter函数,另外一个是正则绕过。这是对输入的绕过。 代码的逻辑也很简单,插入,显示,取出,删除。...绕过的思路就来了,假设我们想使用select 在select前后加点单词就可以了。 这里提一个mysql的tips /*!*/ 只在mysql中有用,在别的数据库中这只是注释,但是在mysql,/*!...select 1*/可以成功执行,在语句前可以加上5位数字,代表版本号,表示只有在大于该版本的mysql中不作为注释....new_xml替换 这个报错注入的原理是利用updatexml的参数错误,首先不能有语法错误,要不然注入的语句根本无法执行,语法正确后,先去执行concat(0x27,(/*!
还是按照下表进行实验 首先我们在查询的时候是可以使用as用其他的名字代替显示的: 但是在实际中可以缺省as直接查询,显示的结果是一样的: 然后就可以用group by函数进行分组,并按照x进行排序 注意...这个CTF也是用同样的方法来解决: 可见,我传入的username=admin%c2,php的检测if ($username === 'admin')自然就可以绕过的,在mysql中可以正常查出username...原因很简单,因为latin1并不支持汉字,所以utf8汉字转换成latin1时就抛出了错误。 那前两次为什么没有抛出错误?因为前两次输入的编码并不完整,Mysql在进行编码转换时,就将其忽略了。...如果你需要Mysql支持四字节的utf-8,可以使用utf8mb4编码。我将原始代码中的set names改成set names utf8mb4,再看看效果: 已经成功得到结果。...0x07 总结 本文深入研究了Mysql编码的数个特性,相信看完本文,对于第一章中的CTF题目也没有疑问了。
因为在一家小公司呆的习惯了(6年),公司没有人在技术层面超过我,作为技术核心,感觉自己很牛,活在一个小圈子里面,几乎不会主动去了解新技术,甚至对php以及js本身都不能算精通。...答:mysql_real_escape_string需要预先连接数据库,并可在第二个参数传入数据库连接(不填则使用上一个连接) 两者都是对数据库插入数据进行转义,但是mysql_real_escape_string...它们的用处都是用来能让数据正常插入到数据库中,并防止sql注入,但是并不能做到100%防止sql注入。 再问:为什么不能100%防止?...10、php的垃圾回收机制? 答:垃圾回收是指当php运行状态结束时,比如遇到了exit/die/致命错误/脚本运行结束时,php需要回收运行过程中创建的变量、资源的内存。...印象深刻的是我说自己熟悉常用设计模式,然后让我画UML类图,我就懵逼了,所以在写简历的时候,最好是写自己非常熟悉的,如果只是一知半解,并没有必要放到简历中。
问题1.打开install.php页面,出现如下错误,并且还是乱码,我安装的WordPress中文,所以也不知道为什么会出现乱码。通过搜索,大致是说机器上没有正确的安装PHP和MySQL扩展。...我检查我配置都正确的。mysql可以通过cmd连接进去。php代码也可以正常运行。但是wordpress始终是出现这个错误,我开始以为是wordpress3.5版本的问题,下载3.3,出现同样的问题。...后台登录我一直记得是:/wp-admin/index.php进入的,但是后台如果不输入index.php的话也是直接显示wp代码的目录结构。之前按照过wp没有出现过这种问题。...但是前台首页即使我输入index.php也是无法进入的,因为index.php是空的。可以肯定的是代码没有进入相应的“路由”。...问题3:无法在“固定链接设置”设置其他的链接格式。否则页面进会出现400错误,请求的资源无法找到。要使用wordpress里面的“固定链接设置”需要Apache加载mod_rewrite模块。
bigdump.php 文件中没有预设这个参数,原文是: $db_connection_charset = ''; 如果你的数据库是 UTF-8 编码,那么此处就要修改为: $db_connection_charset...使用 BigDump 数据库导入工具的注意事项1、在开始导入之前,目标数据库必须清空如果目标数据库里面含有记录,那么 BigDump 就无法导入,会报错停止。...这是因为 phpMyAdmin 在导出数据库时,已经默认勾选了“使用扩展插入”。...我们将在 Akeeba Backup 使用详解 这篇教程中介绍。4、使用 BigDump 导入仍然发生超时错误这种问题多见于配置比较低的服务器,或者服务器繁忙时段。...(不过,我认为你还是换一个更好的服务器吧,例如 Hawkhost)。5、发生 MySQL 服务器超载怎么办?
[image] 在上图中可以看到,攻击者在提交请求时将SQL语句插入到请求内容中,程序本身对用户输入内容未经处理,同时而未对恶意用户插入的SQL语句进行过滤,导致SQL语句直接被服务端执行。 二....id=1'使用浏览器访问之后,如果页面出现错误提示,则说明后端没有对浏览器传递的参数进行过滤,该地址很大几率存在SQL注入漏洞 结果:如果出现错误提示,则该网站可能就存在注入漏洞。...4.3 基于函数报错注入 在MYSQL中使用一些指定的函数来制造报错,从而从报错信息中获取设定的信息,常见的select/insert/update/delete注入都可以使用报错方式来获取信息.后台没有屏蔽数据库报错信息...这时,我们之前学习的SQL注入办法就无法使用了。 盲注,即在SQL注入过程中,SQL语句执行选择后,选择的数据不能回显到前端,我们需要使用一些特殊的方法进行判断或尝试,这个过程称为盲注。...由于函数的特性返回错误信息,进而我们可以显示我们想要的信息,从而达到注入的效果;当然其他类型的数据库也存在相应的问题, Bug 8652的主要内容就是在使用group by 对一些rand()函数进行操作时会返回
学习目的∶学会连接数据库 PHP简直就是一个函数库,丰富的函数使PHP的某些地方相当简单。建议大家down一本PHP的函数手册,总用的到。 我这里就简单说一下连接MYSQL数据库。...如果您还不能察觉$exec有什么错误的话,可以复制这个sql语句到phpmyadmin中执行,看看它的出错信息。...学习目的∶做一个分页显示 关键就是用到了SQL语句中的limit来限定显示的记录从几到几。...一般来说后台就包括添加删除修改和显示,后台没有问题了,前台也没有什么大问题。前台还需要注意安全性和容错还有就是输出格式。 好了,今天说到这里,明天说一下如果用PHP上传文件和发邮件。...$f[’name’] ,可以在以后插入到数据库的时候用到,PHP实际上是把你上传的文件从临时目录移动到指定目录。
下载之后在php文件中引入:没有对新的字符集广而告之(可能是因为这个 bug 让他们觉得很尴尬),以致于现在网络上仍然在建议开发者使用“utf8”,但这些建议都是错误的。...在迁移到 Git 后(MySQL 最开始使用的是 BitKeeper),MySQL 代码库中的很多提交者的名字都丢失了。2003 年 9 月的邮件列表中也找不到可以解释这一变更的线索。...如果插入的字符少于定义的数量,MySQL 就会在后面填充空格,如果插入的字符超过了定义的数量,后面超出部分会被截断。...我的猜测是 MySQL 开发者本来想帮助那些希望在空间和速度上双赢的用户,但他们搞砸了“utf8”编码。 所以结果就是没有赢家。
案例:做一个列表显示 一、连接数据库、判断错误和设置字符集 二、准备并发送SQL语句 三、判断结果 四、循环显示数据 五、增加编辑和删除控制 六、关闭数据库连接 表list.php完整代码 在form表单中显示用户信息的源代码...类别 详细解示 基本语法 show tables; 示例说明 显示当前数据库下所有的表 使用use 进入到某个数据库后可以使用show tables 示例,查看当前数据库的表: mysql> show...它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。 32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。...将对应的变量插入到SQL语句中即可。...每次循环的结果赋值给row,row中是关联数组。因此我在这次循环中,可以将行和列都显示出来。
PHP为了安全性,所以引入了个magic_quotes_gpc = On的功能,可以不需要做任何处理就能直接把单引号插入数据库中,那么对于Off时,则需要考虑单引号的问题了,而不是一味地信任运行环境。...当magic_quotes_gpc = Off时,使用了addslashes()处理后的数据在数据库中将以’形式保存,没有上面说的有\的问题,addslashes()起到插入数据不出错的作用,如果此时直接输出的话...stripslashes()当magic_quotes_gpc = Off时,系统不会处理单引号等问题,所以插入数据时必须要使用addslashes(),显示数据时则不需要使用stripslashes(...PHP在默认配置情况下是会自动转移 post 过来的数据的,要先stripslashes()之后再存入数据库,也就是说默认:magic_quotes_gpc = On 最后举例: 代码 //这是为了防止没有转义的情况下数据库出现插入错误...,插入数据到数据库,代码省略 //获取内容,如果服务器没有设置自动转义(特殊字符加上/),就将数据中的特殊符号进行转义(防止数据库中存储出现错误) if(!
如果刚安装好 MySQL,超级用户 root 是没有密码的,故直接回车即可进入到 MySQL 中了,MySQL 的提示符是: mysql> 1.2、连接到远程主机上的 MySQL 假设远程主机的 IP...),这样用户即使用知道 test2 的密码,他也无法从 internet 上直接访问数据库,只能通过 MySQL 主机上的 web 页来访问了。...那么我们如何使用 MySQL 中 SELECT命令的特殊功能?...) values(‘95007’,’孙丽华’, ‘女’); 这时 student 中没有插入具体值的属性的取值为空,默认 NULL。...: mysql -uroot -p密码 < c:\\school.sql 如果成功,空出一行无任何显示;如有错误,会有提示。
领取专属 10元无门槛券
手把手带您无忧上云