koj*_*ow7 4 php hash pdo prepared-statement
当使用password_hash()函数生成散列密码时,我有什么理由在将其插入数据库时使用预准备语句?
我的假设是我不需要为密码使用准备好的语句,但为了保持一致性,使用密码并没有坏处.
附加问题:
如果我使用的是password_hash函数的PASSWORD_DEFAULT参数,它目前将使用bcrypt算法,但将来可以用其他算法替换.如果我不使用预准备语句,未来的算法是否会使用单引号或其他可能破坏SQL语句的符号?
我有什么理由想在将其插入数据库时使用预准备语句吗?
仅仅因为数据库层应该对数据源,性质,含义或先前的验证完全无知.数据库层的工作是将数据正确地放入数据库中.准备好的陈述是这样做的唯一正确方法.
所以,用你自己的话说,"但为了保持一致,使用一个并不会有害".