这是一个文件共享网站.为了确保每个文件唯一的"密码"真正独一无二,我正在尝试这样做:
$genpasscode = mysql_real_escape_string(sha1($row['name'].time())); //Make passcode out of time + filename.
$i = 0;
while ($i < 1) //Create new passcode in loop until $i = 1;
{
$query = "SELECT * FROM files WHERE passcode='".$genpasscode."'";
$res = mysql_query($query);
if (mysql_num_rows($res) == 0) // Passcode doesn't exist yet? Stop making a new one!
{
$i = 1;
}
else // Passcode exists? Make a new one!
{
$genpasscode = mysql_real_escape_string(sha1($row['name'].time()));
}
}
Run Code Online (Sandbox Code Playgroud)
这真的只是防止双重密码,如果两个用户上传的同名文件确切同一时间,但嘿比抱歉右更好的安全?我的问题是; 这是按照我打算的方式工作吗?我无法可靠地(阅读:轻松)测试它,因为即使一秒钟关闭也会生成一个唯一的密码.
更新:李建议我这样做:
do {
$query …
Run Code Online (Sandbox Code Playgroud)