使用<abbr>
标签来解释实际上不是缩写词而是产生"悬停"内容解释是不好的形式?
如果是,为什么它是不好的形式,什么是一个很好的HTML替代品?
PHP运行一个正确计算值的脚本.当我回应那个价值时,它出现了4.865472349
然后使用一个简单的更新脚本将值输入我的数据库.
$query = "UPDATE members
SET rating = $r
WHERE username = '$username'";
mysql_query($query);
Run Code Online (Sandbox Code Playgroud)
当我这样做时,输入数据库的值是5.
如果我直接用4.865472349替换上一个公式中的$ r,它会产生相同的结果.
显然这是因为我的SQL类型设置为"整数"
但我不知道该怎么改变它来解决这个问题.有帮助吗?
最终目标:单击第1页上的链接,最后下载文件并刷新页面1.使用PHP提供不在公共HTML中的下载.
做法:
第1页. 链接传输到第2页,获取我正在使用的文件的get变量引用.
第2页. 使用在刷新页面1之前需要更新的信息更新相关的SQL数据库.设置"firstpass"会话变量.从get变量设置会话变量"getvariablereference".重定向到第1页.
第1页. 如果首先传递会话变量集.设置第二次传递会话变量.取消设置第一个传递变量.刷新页面.在重新加载时,页面将使用更新的SQL数据库信息进行重建(在第2页上更改).
刷新页面1. 如果第二次传递会话变量设置.运行下载服务标头序列.
这是第1页.我没有显示第1页中具有初始链接的部分.既然没关系.
// REFERSH IF FIRSTPASS IS LIVE
if ($_SESSION["PASS1"] == "YES"){
$_SESSION["PASS1"] = "no";
$_SESSION["PASS2"] = "YES";
echo "<script>document.location.reload();</script>";
}
if ($_SESSION["PASS2"] == "YES"){
// Grab reference data from session:
$id = $_SESSION['passreference'];
// Serve the file download
//First find the file location
$query = "SELECT * from rightplace
WHERE id = '$id'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$filename = $row['file'];
$uploader = $row['uploader'];
// Setting up download variables …
Run Code Online (Sandbox Code Playgroud) 显然,哈希用户名和密码并将它们保存为cookie并使用已清理的cookie数据登录对于您的人(或我的网站的安全性)来说不够好.
这种方法足够好吗?
注册程序:
$salt= date('U');
$username= hash('sha256', $salt. $_POST['username']);
$password= hash('sha256', $salt. $_POST['password']);
$token = hash('sha256', $salt. (rand(1,10000000000000000000000000000000000000000000)));
Run Code Online (Sandbox Code Playgroud)
要手动登录,用户键入他们的用户名和密码,它将通过哈希传递并匹配.
成功登录后,将为该用户创建两个厨师.一个持有未使用的用户名,另一个持有哈希令牌.
当用户访问时,如果设置了cookie,则站点会对用户名进行哈希处理,然后使用这两个值进行登录.
这种方法的优点是避免将用户密码存储在计算机的任何位置.有人可以破解令牌并访问他们的帐户,但至少我不会危及用户的密码......
回答MySQL real_escape
字符串和cookie的人说,将用户数据存储在cookie中是错误的.这会转移问题吗?
我正在使用一个看起来像这样的简单循环:
$query = "SELECT * FROM $username";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo $row['id']. " - ". $row['file'];
echo "<br />";
echo "<form method="post" action="" style="width: 80px">
<input name="Checkbox1" type="checkbox" /><input name="Submit1" type="submit" value="submit" /></form>";
Run Code Online (Sandbox Code Playgroud)
当我像这样运行时,我得到一个<意外的错误.我相信我可能会做一些完全错误的事情.是否有其他方法可以在php循环中输出表.
我有一个简单的脚本来检查用户上传了多少文件:
$sql = "SELECT * from $username where file IS NOT NULL";
$result = mysql_query($sql);
$count=mysql_num_rows($result);
Run Code Online (Sandbox Code Playgroud)
如果表$ username没有任何文件不为null的行,则会吐出:
"警告:mysql_num_rows():提供的参数不是......中的有效MySQL结果资源"
我该怎么做才能避免这种情况?是否有一种简单的方法可以简单地禁止显示此错误消息?或者一个简单的"if"语句,可以阻止SQL查询首先发生?
这是一个非常简单的问题.我必须做一些愚蠢的事情:
此查询回显了一个行ID号:
$query = "SELECT * FROM userpage WHERE uploaderrating = $rating";
$result = mysql_query($query);
$row1= mysql_fetch_array($result);
echo $row1[id];
Run Code Online (Sandbox Code Playgroud)
当我添加一个附加条件时(即使条件在SQL数据库中确实满足,回声确实产生了任何东西(即变量为空).失败的代码是:
$query = "SELECT * FROM userpage WHERE uploaderrating = $rating and reviewer = NULL";
$result = mysql_query($query);
$row1= mysql_fetch_array($result);
echo $row1[id];
Run Code Online (Sandbox Code Playgroud) 网站安全:用户登录新鲜或密码从cookie中提取并登录(如果煮熟的密码无效,则拒绝).+多次登录失败会导致拒绝.
密码是md5哈希并用随机数盐化.
我的问题是,这不合适吗?
我明白这不是很安全.有人可以访问用户的cookie,破解散列cookie,然后知道用户密码.
但是,它是否相当安全,并且在任何地方存储纯文本密码都是不道德的,这在某种程度上是不道德的吗?