上次是那个isset是不是必要的问题,这次是密码salt的。
http://stackoverflow.com/a/20162215/2328799不过这次貌似学到了 *大家都* (指重视安全的小伙伴们?) 都不建议使用MD5做密码加密。
当然,其实我已经知道这些了,但是MD5实在是太快了(就是喜欢这一点嗯),而且我有一些经常会调用到的验证函数(比如用在会话KEY合法性上的),为了避免冲撞(相对于更快但更容易撞上的CRC32)也还是用到了MD5。
于是为了更安全的用到MD5并确保不会逆算,我自己也写了套函数来摧毁原先的MD5串(的一部分嗯,这貌似也犯了大忌,叫:不要自己写加密算法)来保证源字串非常非常非常难破解出。
不过貌似SO上大家都不买这一套嗯。
PS: 上次那个问题之后,我就写了套新的框架,虽然代码还在慢慢改进和去BUG化,或许也犯了一些大忌,但是已经大量避免了undefined的问题。
而且,新框架 *虽然* 会强制使用 error_reporting(E_ALL &~ (E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_PARSE | E_ERROR | E_WARNING | E_DEPRECATED | E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_DEPRECATED | E_USER_NOTICE));
这么长的设置来关掉错误回显(前面几个CORE和部分COMPILE以及PARSE我根本干预不到啊) // 接下去看啊亲。
但是由于之前注册了set_error_handler(array(&$this, 'errorHandler'), E_ALL);,错误一个都跑不掉而且还能手动report到Sentry和文本日志里嗯(这样就不怕多个网站混了(懒得设置服务器.htaccess和.conf的路过)),比PHP自己的日志好很多啊。
https://github.com/raincious/facula/blob/master/core/core.debug.php#L95还是得感谢 @
ShiningRay @
python @
AlloVince @
chenz 的重拍嗯。
// 另外这个也请大家重拍嗯……
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/90371
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.