我正在开发一个网络应用程序,用户应该输入他们的用户名和密码并输入他们的帐户。我需要对应用程序进行以下限制:
我不想在这里使用任何数据库。那么有没有可能的方法来单独使用PHP?
答案 0 :(得分:0)
您必须保存用户的某些内容以识别他。例如session_id。如果您不想将其保存在数据库中,则必须将其保存在文件中。
您可以为每个用户创建一个文件,并将sessionID保存在其中。
答案 1 :(得分:0)
您可以将登录人员的数据存储在一个文件中,然后当用户尝试登录时,只需检查文件中的数据
答案 2 :(得分:0)
我知道如何执行此操作的唯一方法是将登录用户会话绑定到其USER-AGENT和IP地址以及用户名。
将USER-AGENT的哈希值以及用户的IP和用户名存储在会话中,每次检查会话以查看用户是否已登录,比较USER-AGENT的哈希值和IP地址以及用户名。当前用户使用会话中的一个,如果不相同,则会破坏会话数据并要求重新登录。
更新:
这种方法主要是防止会话劫持,但是为了阻止具有相同用户名的多个用户,你必须在db字段中存储它们的独特内容。 用户登录用户db表时存储session_id。 在检查用户是否已登录时(在我假设的每个页面请求中)将用户的session_id与一个id db进行比较,如果他们没有破坏会话,则从db中删除session_id并将用户重定向到登录页面。
注意:
如果您不想使用db,则必须在文件中存储username / session_id列表