SkyCube 开发日志 04

SkyCube 开发日志 04

创意 1337 字 / 2 分钟

嘛,SkyCube开发日志已经到04了啊!

话说今天中午只睡了不到十五分钟,把化学卷子写完了,硬茹选的题一大半都是做过的啊。ヘ( ̄  ̄;ヘ)

下午到书城买了点书,毕竟最近的题确实感觉有些不够刷了。特别是物理,真心慌啊。在没看完《千年一叹》的情况下,我居然买了本《乌合之众》!真心感觉大众心理学挺有意思的。啊,感觉偏题了,Sorry。cheeky

 

今天晚上主要是解决了SkyCube中的Splash界面的不动背景问题,因为背景是一个div元素,所以在高度方面有些问题,height属性设置为100%,在首页可以正常显示,但是在Splash里拖动滚动条会看到下面会有白边,然而将height设置为auto,Splash那边就好了,然而主页又不行了。进退维谷…

本来想分开创建两个css样式,但突然想起了css里的内联样式,所以就style.css设置的还是 height:100% ,在Splash里加入了一行

style="height:auto;"

就好了

解决了一个稍有些困惑的问题,感觉不错。

之后便开始写删除Splash的功能了。主要分两部分,一部分是前端的样式。看到style.css里有个叫 .normalText 的类,便直接拿来用了,然而设置了链接的文字会变成蓝色加下划线。一直以来都有一种感觉十分幸运的巧合围绕着我,我忽然想起就在前几天还在书上看到过CSS中有个叫“伪元素选择符”的东西,可以设置单个a标签在不同响应下的样式:

a:link {color: #FFF;text-decoration: none;} /* 未被访问的链接*/
a:visited {color: #FFF;text-decoration: none} /* 已被访问过的链接*/
a:hover {color: #0099FF;text-decoration: none;} /* 鼠标悬浮在上的链接*/
a:active {color: #555555;text-decoration: none} /* 鼠标点中激活链接*/</pre>

效果很不错的!laugh

 

至于后端嘛,我的想法是,每个Splash气泡下都会有个Delete按钮,单击后转到php页面执行删除后,再转回来。

考虑到安全问题,我在跳转到的SC_Splash_Delete.php上不仅加上了对于cookies的验证,还在GET方式中加了个authCode参数,其中是用按照特点算法的一串字符串再用md5加密,需要注意的是,在算出来的字符串中我还加了salt,防止被破解。

SC_Splash_Delete.php 部分代码如下(已经删去重要信息):

 

$del_ID = $_GET["id"];
$del_authCode = $_GET["authCode"];
$authPass = md5(■■■■■."■■■■■");

if($authPass == $del_authCode){

$con=mysql_connect("■■■","■■■■","■■■");
mysql_select_db("■■");
mysql_query("SET NAMES 'utf8'");
$sql = "delete from ■■ where ■■='".$del_ID."'";
mysql_query($sql,$con);
$mark = mysql_affected_rows();//返回影响行数
if($mark>0){
header("Location:SC_Splash.php");
}else{
echo "An error has happened. Delete Splash failed.";
}
mysql_close($con);

}else{

header("Location:Splash_Login.php");
};

 

效果还是挺好的,相信安全性应该也是挺不错的!不过因为是GET方式传参,还是有点担心SQL注入的问题啊…

PS:今天偶然之间在WinSCP中发现了同步功能(话说在顶部菜单栏这么大我以前却没看到啊…),有点类似于Git的版本控制,但是每次同步都需要和服务器的远程文件一一比对,起码要个三到四分钟,所以其实并没有用…blush

附上今天的成果图:

(加入了Delete功能的Splash界面)

(GET方式请求删除)

(Splash删除功能部分源码)

(SC_Splash_Delete.php)