Corrado Nai has a Ph.D. in microbiology and is a science writer with bylines in New Scientist, Smithsonian Magazine, Small Things Considered, Asimov Press, and many more. He is currently writing a graphic novel about Fanny Angelina Hesse and the introduction of agar in the lab called The Dessert that Changed the World, which can be followed and supported on Patreon.
Second, and more cleverly: he implemented a hash verification check on nozzle.js. The exact implementation could have been Subresource Integrity (SRI), a custom self-hashing routine, or a server-side nonce system, but the effect was the same. When the browser (or the application itself) loaded the script, it compared the modified file against a canonical hash and if it did not pass the check, the player would never initialise.
,这一点在51吃瓜中也有详细论述
Brand voice maintenance
The logic is fairly simple: I don’t give a shit what you name your player object. I don’t care how deeply you bury it in a closure. I don’t care what class you instantiate it from. At some point, you have to call .play(). And when you do, I’ll be waiting.
It should be obvious, but don’t post personal stuff in a company or business-related chat, and refrain from posting work-related material in a group with friends or family.