使你的应用更专业的特性/功能?编程爱好马

php
2022-08-30 09:17:32

您在PHP Web应用程序中实现(如何)哪些功能,因为您认为它在某些方面“更专业”?或者你有个人的挑剔和编程爱好,特别是可能很重要的小事情?您花费了大量时间在哪些令人讨厌的代码或次要功能上来正确操作

.

Q&A插图的编程爱好示例:

配置数据不在数据库中:应用程序数据!=配置数据,这也是必要性和效率的问题。

网址修复:通过附加尾部斜杠来规范化所有网址,即使从技术上讲不是必需的。

人类可读的cookie:为了数据隐私,我尽量避免不透明的会话/数据库句柄(用于用户选项,而不是授权使用)。

内容协商:对于例如.RSS和Atom格式之间的简单变化是有意义的。但我看到它很少被使用。

UI 中没有数据库 ID:避免将数据库内部代理键泄漏到 URL 中。使用ORMs,db内部密钥甚至不必泄漏到业务逻辑中。

.

提示(不是规则)

  • 那么,您认为哪些功能使您的Web应用程序高于平均水平?
  • 为什么它不常见?
  • 它是否使用户受益,但同样容易被忽视?
  • 更专业和安全的编码建议非常符合主题。他们总是这样。
  • 这个问答的预期范围实际上是不常见/独特的功能,可能是非标准和有争议的功能。令人着迷的大加分项。
  • 它还涉及编码首选项和碰巧在PHP中实现的挑剔。
  • 不要想得太大或太高。小功能也很重要。
  • 如果可行,请显示代码。
  • 然而,语法和编码风格/范式大多偏离主题。
  • 我们不要争论有用性或代码质量。这纯粹是一个特征和代码调查。

第一轮研究赏金:很难决定许多好主意中的一个。说实话,我只能将其缩小到五个收藏夹,并将决定权留给.这个话题绝对足够有趣,值得进行第二轮赏金。休息后。也许其他人会接管以完善范围。rand()


答案 1

文档

想象一下,你可以找到任何开源项目,无论有没有最新的文档,并感受到这对你认为它的专业程度的影响。


答案 2

注意安全,特别是用户的私人数据。

使用像 bcrypt 这样的强哈希来存储密码(请参阅加密文档):

// generating hash
// read up how $costParameter and $salt look like in the crypt() docs
$hash = crypt($password, '$2a$' . $costParameter . '$' . $salt . '$');

// checking if password is correct
if (crypt($whatTheUserEntered, $hash) == $hash) {
    // correct password
}

$salt不应是静态值。对于每个用户,它应该是不同的。


推荐