使用Coldfusion创建登录系统

 BILLLLL 发布于 2023-01-30 19:57

我试图创建一个管理区域但无法使登录系统工作.我有三个部分.login.cfm页面,login_action.cfm和app.cfc.

使用此代码时,尝试登录它只会停留在同一页面上.

Login.cfm


Login_action.cfm

   

    

 

       
       
        
       



          
     
    
  
    
         
    

                
      select * from t_admin where username = '#username#'      
    

    
      
        
        
        
      
        
          
        
       
      
  

               
     select * from t_admin where email = '#cookie.XXX.email#'      
   

   
   
   



和Application.cfc.


  
  
    
   

如果有人能帮助那将是非常感谢

1 个回答
  • 这段代码中有很多根本性的错误.

    不要使用来自浏览器的查询字符串构建URL.您无法信任来自浏览器的任何内容,因此您不得在不擦除任何内容的情况下使用任何内容.这样的事情都在惹麻烦:

    <cfset FormAction = "#CGI.SCRIPT_NAME#?#CGI.QUERY_STRING#">
    

    通常,在没有正确清理 HTML编码的情况下,不要向用户的页面HTML写任何内容.使用HTMLEditFormat()URLEncodedFormat()广泛.

    不要永远使用用户提供的值来构建SQL字符串.有<cfqueryparam>,使用它.这是坏事和错误:

    select * from t_admin where username = '#username#'      
    

    我们在这里:不要select *在生产代码中使用.

    不要将纯文本密码存储在数据库中.这是一件大事,你必须在做其他任何事情之前解决这个问题.ColdFusion提供了许多散列算法,使用它们(并阅读盐腌哈希).

    登录表单是通过HTTPS发送的吗?(该应用程序中的所有内容都应该是HTTPS,但绝对必须是登录表单.)

    登录cookie应标记为securehttponly(请参阅)以防止会话劫持.

    登录过期的cookie永远不是一个好主意.要看.

    2023-01-30 20:01 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有