【问题标题】:Print mysql_query in a text file在文本文件中打印 mysql_query
【发布时间】:2014-06-22 08:20:19
【问题描述】:

我有一个带有 2 个字段的 html 表单:用户名和密码。

还有一个预定义了用户名和密码的数据库。还有一个验证文件,用于检查用户输入的用户名和密码是否正确。验证码是这样的:

<?php
session_start();

$host="host_name"; 
$username="urn"; 
$password="pass"; 
$db_name="db"; 
$tbl_name="tbl"; 

mysql_connect($host, $username, $password) or die ("Could not connect");

mysql_select_db($db_name) or die ("could not select");

$username= mysql_real_escape_string($_POST['username']); 
$password= mysql_real_escape_string($_POST['password']); 

$result = mysql_query("SELECT * FROM `users` WHERE `username` = '$username' 
AND     `password` = '$password' INTO OUTFILE log.txt LIMIT 1;");

$count=mysql_num_rows($result);
if($count==1){
session_register("username");
session_register("password"); 
header("location:file.php");
}
else {
echo "Wrong Username or Password";
echo '</br> <a href="/index.php" > Try again </a>';
}

mysql_close();
?>

我需要将某人尝试使用的任何用户名和密码保存到 .txt 文件中。 INTO OUTFILE 东西不起作用,但我不知道我是否输入正确。

任何帮助表示赞赏。谢谢

【问题讨论】:

  • 出于安全原因,mysql 不会追加或覆盖已经存在的文件。它只能为into outfile 目标创建新文件。您可以使用file_put_contents() 或其他正常的文件系统操作来写出您的日志文件。
  • 只需设置另一个查询来跟踪该文件,就像一个计数器。
  • 离题但非常重要:使用 PDO 或 MySQLi | mysql 函数已过时 - sql 可注入 - 从 php 中删除
  • 因此,除了不对数据库中的密码进行加盐和散列处理之外,您还希望将用户密码存储在文本文件和会话中。我想知道您的用户对此有何看法。
  • @MarcB file_put_contents() 必须插入到表单文件或验证文件中?

标签: php html mysql forms


【解决方案1】:

您可以使用error_log,尽管它用于错误记录,但您仍然可以使用它来实现您想要做的事情:

$username= mysql_real_escape_string($_POST['username']); 
$password= mysql_real_escape_string($_POST['password']); 

//log it to a text file
error_log('Login attempt-> username='.$username.' &&  password='.$password);

【讨论】:

  • bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] ) 我应该在我的代码中使用它吗?对不起,我很困惑
  • @user2607179 兄弟我为你写了代码error_log("Login attempt-&gt; username= $username &amp;&amp; password= $password");
  • 我试过了,但是登录尝试信息没有出现在任何地方。
  • 哦哦哦找到了。它位于根目录的子文件夹的子文件夹中。我该如何更改它,以便它可以出现在所有主文件所在的 html 目录的子文件夹中?非常感谢 meda
  • 刚刚也想通了。我创建了一个 .htaccess 文件并更改了其中的路径。谢谢美达。感谢您的帮助:-)
猜你喜欢
  • 1970-01-01
  • 2011-06-13
  • 2015-01-02
  • 1970-01-01
  • 2020-08-08
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多