Category: News

使用情况 我花了很多功夫研究WordPress的认证系统。 两年前我接手WordPress的OpenID插件开发工作,去年五月又被Vidoop聘请来全职研究DiSo项目。 去年夏天,我应Matt Mullenweg的邀请在 WordPress 2008年的San Francisco 夏令营中讲述关于OAuth的问题。 你可以在我的 slidedeck看到,那时这仅仅是一个幻象…当时WordPress中还没有OAuth,尽管在产品计划书上已经列出这一规划。 Stephen Paul Weber写到,我们刚开发出一款OAuth插件,但直到几个月前我才有时间改进这款插件。 我们要解决的第一个使用问题就是XML-RPC,因此我开始与Joseph Scott合作。 如果给博客客户端(如MarsEdit或WordPress iPhone app)添加Oauth认证程序,客户端就可以直接与你的博客交流而不必用到你的WordPress密码了。 出现的问题 不久前我们终于解决了我对WordPress认证系统的最大埋怨——太“用户名/密码”化了。 如果忘记用户名或密码,认证程序的代码中过早跳出空白。 如果你的插件只需要验证用户名是否与LDAP中存储的密码一致,这就很容易了;事实证明一切运行良好。 问题是,虽然外界开发了大批认证系统(如SAML,OpenID,OAuth等),但它们都不符合用户名和密码的标准模式。 你可以到OpenID插件上看看一些更有趣的东西,它们都需要人为完成以便在不同版本的WordPress上运行。 尽管如此,在将OAuth代码连接到WordPress XML-RPC终点时,我们没有办法绕过这一步骤…我们不得不改变一些基本的设想。 这个额外要求也没有什么作用。 因为wp_authenticate()函数驻留在pluggable.php中,该函数承担WordPress认证的大部分工作,这样插件就有可能完全取代函数的功能并随意对用户进行认证了。 这个方法带来的问题是,很多认证机构在不检查请求的情况下无法辨别它们是否被调用。 取代wp_authenticate函数之后插件才发现它本不应该如此,但这时已经太晚了。 我们无法避免在回到wp_authenticate标准版本时遇到这个函数。 事实上pluggable.php中所有的函数都是这样。一个可行的解决方案是为每个函数创建包装器函数,这也是我最初所主张的。 但Peter Westwood想到一个更好的方法,可以采用一个已建成的模式,最后我们在新认证系统中采纳了他的意见。 解决方案 对这个方案的规划比实际编码要麻烦的多,但最终我们还是成功了,开发出的方案脱离了对“用户名”和“密码”模式的依赖,同时还兼容连接认证程序代码的现有插件。 WordPress 2.8 含有一个名为authenticate的新过滤器,它传递了三个参数: 一个混合值(可能是WP_User对象,WP_Error对象,或者空值),以及用户名和密码(其值都可以为空)。 这样所有的标准WordPress认证逻辑就被移入下面这两个执行过滤器的函数了,它们的优先级相对较低。 wp_authenticate_username_password() (优先级为20)中包含用于标准“用户名”和“密码”验证的标准逻辑。 这仍被称为wp_authenticate_user过滤器,因此附着与该过滤器的插件仍然可以使用。 这个函数也执行对空用户名和密码的检查。 Wp_authenticate-cookie() (优先级为30)只在用户通过wp_login.php进行验证时才被加入过滤器链,它主要对WordPress验证cookie进行常规检查。 以上两个函数都会对第一个传递的参数进行检查,如果它是有效的WP_User对象则立即停止。 这就允许插件以适当形式将其自身函数添加到可生成WP_User对象的过滤器链中。 WordPress也在适当的时候设置了认证程序的cookie,因此插件只需要负责认证用户并返回有效的WP_User对象。 那么,对插件来说这意味着什么呢? 当然,WordPress的OAuth插件尚未完工,但下面的函数已经相当接近最终版本了。 实际执行OAuth仍然需要更多代码,这仅仅是能使WordPress认证程序连接生效的代码段。 请注意,认证程序钩子(hook)中的用户名和密码参数对本函数不产生影响…其他插件可能会用到这些参数。 […]

Read more

Glycerine, Its name comes from the Greek word Glykys, meaning sweet, but this once considered insignificant product sprung from less humble beginnings.  Glycerine is a trihydric Sugar Alcohol (polyol) that presents as a colourless, odourless, viscous and slightly sweet liquid. It is commonly used as – • A sweetener, to make medicine more palatable • […]

Read more

Description VAPE UK 50/50 STRAWBERRY & WATERMELON FREEBASE Vape UK 50/50 Strawberry & Watermelon infuses a refreshing blend of orchard-fresh strawberries and juicy watermelon chunks, making it the perfect duet of flavours.Explore Vape UK’s very own e-liquid range that’s jam-packed in flavour and compatible with your vape kit, including our Nic Salt series. Specifications Flavours: Strawberries, […]

Read more

导读: 微软创始人比尔·盖茨刚刚发表了一篇名为 《The Age of AI has begun (AI时代已经到来)》的文章。 他认为,人工智能的革命性创新,与PC、互联网和移动电话一样,它将改变人们工作、学习、旅行、医疗和沟通的方式,甚至减少世界上一些最严重的不公平现象。 相比于他提到的这些内容,更重要的是比尔·盖茨在这篇文章传递出来对AI的鲜明态度。 以下为全文翻译,敬请欣赏: 在我有生之年,我已经见过两次革命性的技术演示(Demo)。  第一次是 1980 年,当我接触到图形用户界面。这是每个现代操作系统的前身,包括 Windows 系统。 展示者名叫查尔斯·西蒙尼(Charles Simonyi),他是一位才华横溢的程序员,我们坐在一起开始头脑风暴,想着我们可以用这种友好的方法做出所有的事情。查尔斯先生最终也加入了微软,Windows 也成为微软的支柱,当时的思考决定了公司未来 15 年的议程。  第二个大惊喜来自2022年。从 2016 年以来,我一直与 OpenAI 团队会面,并对他们的稳步开发印象深刻。2022 年年中,我对他们的工作感到非常兴奋,我决定给他们一个挑战:训练一种人工智能,使其能够通过高中生物学考试,让它能够回答没有专门训练过的问题。  我选择了 AP 生物课程,因为这个考试不仅仅是对科学事实的简单重复,它要求人们对生物学进行批判性思考。我说,如果 AI 能做到这一点,那么你们就取得了真正意义的突破。  我原以为这个挑战会让他们忙上两三年,结果几个月他们就搞定了。  在去年 9 月,当我再次与他们会面,我惊奇地看着他们向 GPT 提出了 60 个AP 生物考试的多项选择题,它回答对了 59 个。然后,GPT又对考试中的六个开放式问题做出了出色的答案。我们聘请一位外部专家评分,GPT 获得了 5 分——这是最高分,相当于在大学水平的生物学课程中获得 A 或 A+。  GPT 通过了考试后,我们问了它一个非科学问题:“你会对一个有病孩子的父亲说什么?”它写了一个常人应该深思熟虑的答案,这个答案可能比我们在座的大多数人都好。 上面整个的过程体验,令人感到震惊,包括我自己。  我知道,我刚刚看到的是自图形用户界面以来最重要的技术进步。这也启发了我去思考 AI […]

Read more

Last night, a story came from French TV channel L’Équipe 21, the sports channel arm of the popular French sports newspaper L’Équipe, on a TV show called L’Équipe du Soir. The report was relayed by the show’s presenter on behalf of France Football journalist Thierry Marchand. Marchand’s report claimed that last week Manchester United representatives met with Pep Guardiola […]

Read more