svn问题处理

SVN是常用的版本控制软件,一切弄好后,我把网页里的链接直接复制到svn 的url位置,在配置的过程中出现了无法连接的小问题:结果就一直报下面的错误。

svn: E175002: PROPFIND of ‘/’: 405 Method Not Allowed

尝试许久,发现是链接不正确,正确的写法是: https://ip地址/svn/资源库名

CSS样式小知识(一)

CSS全称为“层叠样式表 (Cascading Style Sheets)

外部式css样式(也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,在<head>内(不是在<style>标签内)使用<link>标签将css样式文件链接到HTML文件内,如下面代码:

<link href=”base.css” rel=”stylesheet” type=”text/css” />

更有趣的是伪类选择符,为什么叫做伪类选择符,它允许给html不存在的标签(标签的某种状态)设置样式,比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色:

而如果三种样式同时出现它们的优先级又是怎样的呢?

内联式 > 嵌入式 > 外部式

继续阅读CSS样式小知识(一)

在Linux系統下配置LAMP

好久没有在使用Linux系统了,比较常用的还是Windows环境。Linux系统有很多有点,上线的大多数产品都是在Linux服务器上的,而Windows环境开发的东西不可避免出现一些大小写的问题。之前一直使用的是Centos 7.0,一直没体验过Ubuntu系统,所以今天就在自己的虚拟机Ubuntu 16.04 搭建LAMP服务器环境,配置一个新的Linux的php开发环境,然后把配置中遇到的问题也顺便说一下。

一、安装Apache2

•安装代码
sudo apt-get install apache2
•更改默认目录
sudo vim /etc/apache2/apache2.conf
 // 将 <Directory /var/www/>
 // 改成 <Directory "你的目录">
 // 可以将/var/www 中的默认网页复制到 你的目录 中
sudo vim /etc/apache2/sites-available/000-default.conf
 // 将 DocumentRoot /var/www/html
 // 改成 DocumentRoot "你的目录"
sudo /etc/init.d/apache2 restart
 // 重启
然后在浏览器中输入127.0.0.1或者localhost查看一下阿帕奇的配置是否成功,
如果有错误在命令行输入apache2ctl configtest它将突出显示错误的具体位置。
Apache2 Ubuntu Default Page_ It works
二、安装PHP

•安装代码
sudo apt-get install php7.0
 // ubuntu16.04中没有php5了,直接装7吧
sudo apt-get install libapache2-mod-php7.0
 // 配置APACHE+PHP7的
sudo apt-get install libapache2-mod-php
 // 这个应该是配置APACHE+PHP5的,一块装吧
sudo /etc/init.d/apache2 restart
 // 重启
•测试php文件 
在 “你的目录”下建一个testphp.php
hello php
<?php
phpinfo();
?>
然后在浏览器中访问进行测试,如果php文件没有解析成功,重启阿帕奇服务或者重新安装apache和php模块

三、安装MySql。

•在终端:
apt-get install mysql-server mysql-client
 // 安装时会要求输入mysql管理员密码,输入即可

注意: 
mysql-server:用来创建和管理数据库实例,提供相关接口供不同客户端调用; 
mysql-client:操作数据库实例的的一个命令行工具,像图形化界面工具有phpmyadmin等; 
mysqld:即MySQL server 
mysql:即mysql-client客户端命令行工具 
- 附mysql服务管理命令
/etc/init.d/mysql stop/restart/start
service mysql stop/restart/start
 // 两条令相同
•推荐自启管理工具
apt-get install sysv-rc-conf

这样就可以啦,我安装过程中遇到了些小问题不过在google之后还是顺利解决了,mysql优化的文章也会过几天给大家推送,谢谢大家的支持。

关于sql防注入和mysql索引优化(一)

今天在被提问的过程中,被问到了sql防注入和mysql索引优化问题,一时间没有太好的答案,感觉平常也对mysql经常使用,但这时候却发现了数据库中的这两个最重要的问题,防注入和搜索的优化。所以,今天特意查找了一些sql防注入和mysql索引优化技术,并自己尝试了一下,一起分享给大家。

首先通过百度百科,我了解了什么是sql注入,其实这个在我之前的工作已经有所涉及,SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。

举几个简单的例子首先后台的正常操作如下。

第一种

user=request(“user”)
passwd=request(“passwd”)
sql=’select admin from adminbate where user=’&”’&user&”’&’ and passwd=’&”’&passwd&”’;

然后如果使用’or ‘a’=’a来做用户名密码的话,那么查询就变成了

select admin from adminbate where user=”or ‘a’=’a’ and passwd=”or ‘a’=’a’

这样的话,根据运算规则,这里一共有4个查询语句,那么查询结果就是 假or真and假or真,先算and 再算or,最终结果为真,这样就可以进到后台了。

第二种
是通过命令尝试猜测数据库的表名和库名等通过返回的错误提示进行判断自己猜测的是否正确。
通过上网的查找,发现了防御sql注入的几种常用方法。
方法一:
防止sql注入最主要的就一点就是变量全部参数化,能根本的解决sql注入问题。比如代码里写sql或数据库层面写存储过程,只要不拼接sql语句,不执行动态sql语句,那就能防止sql注入。
方法二:永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和
双”-“进行转换等。
方法三:永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
方法四:不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。
方法五:应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。
时间太晚,所以没能完成mysql索引优化的学习,所以明天会继续更新mysql索引优化的学习和分享。

PHP上传文件限制与验证(防病毒)

通常我们在网站建设中会给用户一些上传文件的权限,比如上传图片之类,但是有时候黑客也会利用这个漏洞上传病毒文件,这时候我们可以使用简单的设置来约束上传文件的类型。

处理方法:

$allowExt=array(“gif”,”jepg”,”png”,”wbmp”);

if($error==UPLOAD_ERR_OK){
if(!in_array($ext,$allowExt)){
exit(“非法文件类型”);
}
但是仅仅这样是不够的,因为黑客可以通过修改病毒文件的后缀名进行上传,这时我们就需要设置一个图片文件验证函数。

$imgFlag=true;

if($imgFlag){
//如何验证图片是否是一个真正的图片类型
//防止病毒上传
//getimagesize($filename):验证文件是否是图片类型
$info=getimagesize($tmp_name);
if(!$info){
exit(“不是一个真正的文件类型”);
}
}

完成了上述操作我们就可高枕无忧了。

URL的重写

人们常说,一个人你的回报适合它的付出成正比的,原来我不以为然,但渐渐的对此愈加信服。问题的解决是畅快的,但过程无疑是痛苦的,无数次的探索与尝试,时常的废寝忘食让我真正的感受到热爱一件事物的真正样子,闲话不多说,我们开始今天的网络知识介绍——网站文章URL的重写。

 

世界,您好!

Hello,everybody。之前反反复复好几次想写一个Blog,但因为种种原因以及原Blog丢失而被耽误。今天终于下定决心,使用了Wordpress这个系统作为Blog的基础框架,后续还会陆续进行更新修改。在这里大家可以了解到一些关于我的动向、我的作品。还会记录我在学习工作过程中的一些问题、经验来和大家一同交流~