如果你网站空间的php.ini文件里的magic_quotes_gpc设成了off,那么PHP就不会在敏感字符前加上反斜杠(\),由于表单提交的 内容可能含有敏感字符,如单引号(’),就导致了SQL injection的漏洞。在这种情况下,我们可以用addslashes()来解决问题,它会自动在敏感字符前添加反斜杠。 但是,上面的方法只适用于magic_quotes_gpc=Off的情况。作为一个开发者,你不知道每个用户的magic_quotes_gpc是On 还是Off,如果把全部的数据都用上addslashes(),那不是“滥杀无辜”了?假如magic_quotes_gpc=On,并且又用了 addslashes()函数,那让我们来看看: 我来总结一下 罪恶之源:用户提交过来的数据是可靠的。 用户可以伪造表单和URL提交他想提交的任何数据 如果你把他提交过来的数据变量直接联入sql语句就会造成注入 一般性的防范措施是: 所有sql语句必须用单引号,因为单引号内的字符串只有两个特殊,它自己和转义符,只要搞定这两个就ok了,而addslashes完全胜任 php.ini里magic_quotes_gpc默认是off的 有的是on的,这就需要在使用addslashes之前ini_get一下看这个设置是on还是off然后再决定是否用 mysql的sql语句的组成中一般只有整形和字符型,整形加上引号也不会出错,如果嫌麻烦就全加上引号,更安全一点就是inval()转化成整形。 这样处理基本就没问题了,至于是否允许提交html代码看你要求了,不允许的话就用函数去掉<> 更安全一点的遍历post,get,cookie,对他们的长度进行控制,addslashes,去除html(或转化成&),图片验证码, 表单的http refferring、session_id判断,更高级的是表单过期判断(一般用某个常量和时间算出的hash,提交的时候再验证这个hash)。…
二月 2nd, 2012
Mysql命令行导入导出.sql文件
No Comments, MYSQL, PHP, 技术天空, by admin, 3 views.如果通过phpmyadmin等web客户端操作mysql的话,经常会有2M的容量限制。不过如果你可以操作命令行的话,可以轻松解决这个问题: 一.MYSQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建-> PATH=“;path\mysql\bin;”其中path为MYSQL的安装路径。 二.简单的介绍一下命令行进入MYSQL的方法: 1.C:\>mysql -h hostname -u username -p 按ENTER键,等待然后输入密码。这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root。 进入命令行后可以直接操作MYSQL了。 2.简单介绍一下MYSQL命令: mysql->CREATE DATABASE dbname;//创建数据库 mysql->CREATE TABLE tablename;//创建表…
二月 2nd, 2012
Cannot start session without errors, please check errors 错误解决办法
No Comments, MYSQL, PHP, 技术天空, by admin, 2 views.打开phpmyadmin出现如下错误: Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your…
十二月 27th, 2011
Magento网站迁移步骤以及可能出现的问题
No Comments, MYSQL, Magento, PHP, 其他技术, 技术天空, by admin, 43 views.今天做了一次magento的网站迁移,在做的过程中出现了一些问题,最终解决了,发在这里分享给大家。 Magento迁移步骤: 1. 拷贝程序文件到目标主机 2. 导出数据库文件到目标主机。这里面容易出一些问题,我原来认为mysql的数据库的data文件保留下来,只要把data文件拷贝到新的主机的数据库data文件目录下就可以了,但是事实证明这种做法对于magento来说是错误的,magento有的表是InnoDB表,有的表是MyIASM表,如果全是MyIASM应该没有问题,否则的话可能会出问题,针对magento的数据库所出现的问题就是,本来有328张表,能认出来的却只有20张表,所以还是要使用 phpmyadmin的导入导出功能,在导出的时候要使用禁止检测外键管理,下面这张图标出了中文版和英文版得phpmyadmin的这个选项的位置 ———————————————————— 这样就可以正常导入了。 如果要更换域名,请在导出的sql文件中做替换就好。 3. 更改配置文件。 /app/etc/local.xml,修改数据库的主机名称,用户名,密码。这步完成之后,首页应该不成问题。 但是内容页面和后台访问可能会出现503,这是因为虚拟主机的配置问题 4. 配置虚拟主机如果原来的程序使用了mod_rewrite的话,上一步做完了访问首页应该正常,其他页面503 ,要在虚拟主机中进行rewrite配置 下面是一个示例: <VirtualHost *:80>…
十二月 6th, 2011
MySQL存储过程编程.pdf 中文电子书高清下载
No Comments, MYSQL, by xiazai51, 6 views.MySQL5.0中存储过程的实现作为早已非常著名mysql数据库的一部分,在使得mysql成为广泛的企业级应用的领头羊的过程中有着里程碑的意义。如果你打算严肃的来面对建立基于web的数据库应用程序的将来,你必须快速的掌握怎样用存储过程进行工作(并且用正确的方法建立他们),这本书的目的就是打算成为一本存储过程编程的圣经,作为一种资源,来共同面对这一MySQL程序员所无法逃避的现状。 在MySQL突如其来降生的靠十年中,它已然是现今具有统治地位的开源数据库,无论是性能和表现都能和那些诸如Oracle和SQL Server这样的商用RDBMS(关系型数据库)相竞争。并且MySQL能够和Linux和php结合在一起,成为数百万应用程序的心脏, 现在,MySQL5.0结合了对于存储过程,函数和触发器的支持,提供了作为真正企业级应用的编程能力。 MySQL新的过程语言有着直白化的语法,我们可以用它很容易的写出简单的程序,但是要写出安全,容易维护,高效并且容易调试的程序却并非易事。作为一个新生事务,还很少有人能在MySQL领域拥有对存储过程实质性的编程经验,但是Guy Harrison 和Steven Feuerstein正是这极少数的一员,他们在这一专业领域拥有靠十年的经验 在MySQL存储过程编程这本书中,作者们很好的利用了自身积累的难得的经验,他们将充满代码的示例和各种语言级的基础知识融入进应用程序的构建所需要的各种协调和实践中,使之成为一本高可阅读性的MySQL开发一站式指南,这本书由以下四个方面组成: . MySQL存储过程编程基础 — 指南,基本语句,存储过程中的SQL和错误处理 . 创建MySQL存储过程程序 — 事务处理,内建函数,存储过程函数和触发器 . 在应用程序中使用MySQL存储过程程序 —…
十二月 6th, 2011
《高性能MySQL(第二版)》电子书.pdf高清中文电子书下载
No Comments, MYSQL, by xiazai51, 10 views.《高性能MySQL(第2版)》荣获2009年Jolt图书大奖,是不可多得的分享MySQL实用经验的图书。它不但可以帮助MySQL初学者提高使用技 巧,更为有经验的MySQL DBA指出了开发高性能MySQL应用的途径。《高性能MySQL(第2版)》包含14章和4个附录,内容覆盖MySQL系统架构、设计应用技巧、SQL 语句优化、服务器性能调优、系统配置管理和安全设置、监控分析,以及复制、扩展和备份/还原等主题,每一章的内容自成体系,适合各领域技术人员作选择性的 阅读。 这本书我突然发现是一个试读的读本,经过一番搜索终于找到了一本全本,分享给大家: 下载地址在下面:
十月 29th, 2011
phpadmin出错 提示,无法在发生错误时创建对话,请检查php或网站服务器日志,并正确配置php安装
No Comments, MYSQL, PHP, ZendFrameWork, 技术天空, by admin, 27 views.原先一直使用 appserve来创建 php开发环境,自己的笔记本电脑因为一次事故重新安装系统,自己一直使用 zend studio开发,干脆就直接使用zend server 来配环境了,在使用zendserver自带的phpmyadmin的时候出现了这样的问题, phpadmin出错 提示,无法在发生错误时创建对话,请检查php或网站服务器日志,并正确配置php安装 ,这个问题其实是 php.ini中 session的存放路径没有被指定,多出现于新安装的php环境中,打开php.ini, session.save_path = “D:\Zend\ZendServer\tmp” 制定一个路径就好
九月 20th, 2011
linux mysql数据库连接的限制
No Comments, LINUX UBUNTU, MYSQL, PHP, 其他技术, 技术天空, by admin, 50 views.前两天将一套Magento系统从自己的windows系统上移到了linux服务器上,然后用 本地的系统连接服务器上的mysql数据库,结果出现了一个错误:#1130 – Host ‘localhost’ is not allowed to connect to this MySQL server
九月 9th, 2011
IE下phpmyadmin 出现 Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.错误,如何解决
No Comments, MYSQL, PHP, 技术天空, by admin, 355 views.在IE下 Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your…
八月 16th, 2011
phpMyAdmin – 错误 无法载入 mysql 扩展,请检查 PHP 配置
No Comments, MYSQL, PHP, 技术天空, by admin, 87 views.我在windows下一直使用 appserv来配置php集成环境,但是有一次在重装appserv的时候,装完了 appserv之后发现无法进入 phpmyadmin,网站也无法连接数据库,phpmyadmin报这个错误 phpMyAdmin – 错误 无法载入 mysql 扩展,请检查 PHP 配置,而appserv的上个版本的 php.ini中的配置是完好的,出了如下错误,又开始了漫长的排错之路,最后终于将问题找到,原来在 php.ini中Mysql相关的配置 都已经打开,也都拷贝到相应的路径,如果是IIS的话,路径还会与系统环境变量中PHPRC的值有关,这个值一定是 存放php.ini的路径,但是apache的话,php.ini的路径却与此无关,而在 apache的配置文件 httpd.conf中设置,在最后部分 #BEGIN PHP…