我来自Perl编码器背景,所以出于习惯,我总是使用花括号来包含条件语句返回true时所采取的操作.例如,并使用jQuery,因为这是我需要解释差异的地方,这两个语句都是等效的和有效的语法.
if ($('#user_agreement').is(':checked')) { $('#thanks_message').show(); }
if ($('#user_agreement').is(':checked')) $('#thanks_message').show();
Run Code Online (Sandbox Code Playgroud)
我的旧习惯背叛了我,而我只是在没有任何优势的情况下编写不必要的额外代码?或者,一种方法是否更有效,或者被认为是更好的编码实践的标准?我真的很想理解两种不同语法方法之间的差异,特别是当它们同时工作时.
我非常关心在网站上部署TinyMCE编辑器.查看编辑器解析的代码,它做得很好,我将HTML按钮从工具栏配置中删除,这样用户就无法注入自己的源代码.
但是,根据我在TinyMCE文档中的内容,它声称如果在用户浏览器上禁用javascript,它会很好地降级到普通的textarea ......这就是我的担忧.如果它确实恢复到普通的textarea,那么用户就可以轻松地注入自己的HTML,这让我有了安全问题.
我只是传递使用TinyMCE创建的数据,它在我的脚本创建的另一个页面中使用,因此它不会给我的服务器带来安全风险.出现安全问题,可能会将恶意数据传递给查看生成的页面的其他用户.
我知道很多人会告诉我只使用正则表达式,或解析这些数据,但这本身可能是一场噩梦,因为我会试图......
a.)使用正则表达式来尝试清理HTML而不会破坏生成的页面,最好还是为此解析数据.
b.)重新分析已经由RTF编辑器解析的数据,这也可能最终破坏生成的页面.
任何以前有这种情况经验的人,我真的很感激使用RTF编辑器获取用户数据所带来的任何其他风险的"单挑".我真的想提供这个作为用户选项,但是如果风险超过让用户使用RTF有机会在查看脚本生成的页面的另一个用户处获取wack的话.
我的直觉是在这一点上围绕使用RTF引导一个广泛的位置.
感谢您的任何指导,您可以根据自己的经验给我.