2022年9月21日星期三

厦门发布通告严禁擅飞无人机

9月20日,厦门市公安局、中国民用航空厦门安全监督管理局、厦门市气象局联合发布《关于进一步加强无人机等民用无人驾驶航空器安全管理的通告》,通告措辞严厉,除重申对民用无人机的“销购实名登记”等现行做法外,在无人机的使用方面专门规定,飞前要向飞行管制部门申报飞行空域和计划。审批同意后,还需在起飞前24小时报告起飞位置和飞行范围,并严格按照申报线路和范围进行飞行。

对于未经飞行管制部门审批擅自飞行无人机者,起飞前24小时未报告起飞位置和飞行范围者,由公安机关予以警告,情节严重的,对个人处以1000元人民币罚款,对单位处以5000元人民币罚款。

以下为公告原文:

关于进一步加强无人机等民用无人驾驶航空器安全管理的通告

为保障公共安全、维护厦门空域秩序,依据《厦门市民用无人驾驶航空器公共安全管理办法》相关规定,现将加强无人机等民用无人驾驶航空器安全管理的有关要求通告如下:

一、销购实名登记。无人机等民用无人驾驶航空器销售者应当建立销售台账,记录购买者的姓名(名称)、联系方式以及民用无人驾驶航空器产品的名称、型号、序号等相关信息,接受有关部门查验,并告知购买者相关使用规定及说明。民用无人驾驶航空器拥有者在取得民用无人驾驶航空器后,应当按照规定向中国民用航空局民用无人机实名登记信息系统办理登记。

二、提前审批报备。无人机等民用无人驾驶航空器起飞应严格执行《中华人民共和国飞行基本规则》《通用航空飞行管制条例》的要求,提前向飞行管制部门申报飞行空域和计划,需要办理其他飞行手续的应当依法办理。审批同意后,在学校、幼儿园、医院、车站、客运码头、商场、体育场馆、展览馆、公园、电影院、剧院等公众聚集、人员密集场所及大型活动现场使用无人机等民用无人驾驶航空器的,还需在起飞24小时前通过“厦门百姓”APP无人航空器模块报告起飞位置和飞行范围。

三、遵守飞行线路。严格按照申报线路和范围飞行,严禁在关系国计民生、国家安全和公共安全的重要单位、设施、场所的上空和《厦门市人民政府关于修订厦门高崎国际机场净空保护区域和电磁环境保护区域及其相关保护要求的通告》划定的禁飞区域飞行。

四、严肃法律责任。未经飞行管制部门审批擅自飞行的,由相关部门依法处理;起飞前24小时未报告起飞位置和飞行范围的,由公安机关依据《厦门市民用无人驾驶航空器公共安全管理办法》第19条规定予以警告,情节严重的,对个人处以1000元人民币罚款,对单位处以5000元人民币罚款;违规飞行扰乱公共秩序、非法破解无人机安全控制信息系统等构成违反治安管理行为的,由公安机关依照《治安管理处罚法》的规定予以处罚;涉及犯罪的,依法追究刑事责任。

厦门市公安局

中国民用航空厦门安全监督管理局

厦门市气象局

2022年9月20日

来源:厦门网

2022年9月20日星期二

“消失”百天的李佳琦在淘宝复出

9月20日晚间7点一刻左右,“消失”了109天的李佳琦在淘宝直播间重新开始直播。此次复播未在微博、微信等平台进行预告。截至20时30分,李佳琦直播间粉丝量达6445.6万,共计3727.5万观看,点赞量达1.17亿;目前上架的15款商品中,已有12款售罄。

参与此次直播的品牌有欧莱雅、安踏、碧浪等,涵盖日用、化妆品等品类。

李佳琦在此次直播之前,最后一次直播的时间是在今年6月3日,当天直播进行到一半的时候,突然中断。

之后,李佳琦在个人微博表示,“后台技术故障,我们在紧急处理中,大家先稍等一下哦”。

约两小时后,李佳琦再度发文称,“非常抱歉,今晚因为我们内部设备故障无法继续直播,大家早点休息,尚未上播的产品,我们之后的直播中会陆续带给大家。”

李佳琦自6月3日发出的微博,解释当日直播间突然停播的原因之后,此后再无更新。

文章段落开头不空两格

将博客的所有文章进行了一个处理,将原先文章段落开头空的两个全角空格删除,以前和之后的文章段落开头都将不再空两个全角空格了。这么做的主要原因是为了让网站在手机环境下体验更好,更利于将来文章的排版和调整。目前,手机的使用越来越多,在手机里阅读文章,本身屏幕就不大,空几个空格反而使得页面并不美观,不空格的话在小屏幕下显示效果更好。

处理的方法是,打开数据库,通过一个针对文章的update的SQL语句,将“<p>  ”替换为“<p>”,这样,就删除了所有文章段落开头的全角空格,之后将文章重建一下即可。具体的SQL语句如下。

update blog_article set log_content = replace(log_content ,'<p>  ','<p>')

实际上,现在网上的大多数网站或者APP里,文章段落前都没有遵循“空两格”的规定,而在段与段之间以空行形式来体现,总体看上去也比较美观、清晰。

写文章每个段落第一行字要空两格,主要是为了段落清晰,这主要针对实体书籍以及Word等字处理软件,实际上对网页、电子阅读器来说已经无必要了。

在网页里,每一段落一般用<p></p>进行标记,通过CSS可以很容易增加段落间距,这使得每个段落已经非常清晰明了,无需再增加两个空格。具体CSS代码如下:

p{margin: 0 0 1em;}

即使未来需要空格,也可以通过CSS语句很简单的实现每行开头空两个字。具体CSS代码如下:

p{text-indent: 2em;}

2022年9月19日星期一

使用Google Analytics跟踪网页浏览

  在网页上添加Google Analytics(分析)的代码,可以自动统计到网页的浏览量,不过,有时候我们需要统计一些虚拟网页的浏览量,例如通过Javascript加载出来的网页,这里就需要再添加一些Google Analytics代码了,下面我就介绍一下具体添加方法。

  先在网页端添加Google Analytics(分析)的代码。对于老版本Universal Analytics(analytics.js)统计代码是:

<!-- Google Analytics -->
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  ga('create', 'TAG_ID', 'auto');
  ga('send', 'pageview');
</script>
<!-- End Google Analytics -->

  对于新版本Google Analytics 4 (gtag.js)的统计代码是:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'TAG_ID');
</script>
<!-- Google tag (gtag.js) -->

  之后,当特定的虚拟页面加载之后,增加一段Javascript代码将虚拟页面浏览量增加。

  对于老版本Universal Analytics(analytics.js),统计特定页面浏览量的方法是:

ga('create', 'TAG_ID', 'auto');
ga('send', 'pageview', pathname);  

  其中pathname是指定虚拟URL的路径名,需要以“/”开头。

  举例:

ga('create', 'UA-1', 'auto');
ga('send', 'pageview', location.pathname); 

  对于新版本Google Analytics 4 (gtag.js),统计特定页面浏览量的方法是:

gtag('event', 'page_view', {
  page_title: '<Page Title>',
  page_location: '<Page Location>',
  page_path: '<Page Path>',
  send_to: '<TAG_ID>'
})

  其中Page Path是指定虚拟URL的路径名,需要以“/”开头。

  举例:

gtag('event', 'page_view', {
    page_title: document.title,
    page_location: window.location.href,
    page_path: window.location.pathname,
    send_to: 'G-1'
});

  以上就是Google Analytics(分析)新老两个版本来跟踪虚拟网页的方法。

2022年9月18日星期日

iPhone 14系列首销火爆 库克深夜感慨

  9月16日,iPhone 14、iPhone 14 Pro、iPhone 14 Pro Max迎来首销,与往年iPhone开售一样,今年全国各地Apple Store门店同样排起了长队。千万“果粉”终于等来苹果14系列开售。

  记者走访深圳苹果专卖店发现,在“消费电子”寒冬,苹果门店依旧大排长龙,非预约不得入内。而苹果零售店外,通过现场倒买倒卖手机获益的“黄牛”们也和往年一样在门口围坐一团,ProMax在现场需加价1200元以上购买。

  但在场多位“黄牛”告诉记者,尽管依旧需要抢,但14系列的加价行情明显不如13系列。有分析人士向记者表示,14系列的整体销量预计难敌13系列,但营收有望因为来自Pro的贡献增多而增长。在益田假日广场门口,也和往年一样围坐着一群“黄牛”,几乎每个“黄牛”的面前都摆着几台全新的苹果14 系列手机在兜售。虽然多个渠道消息都称本次苹果公司备货充足,但记者通过苹果官方网站了解到,目前Pro及Pro Max均无现货,需要等待6-7周。

  9月16日深夜,苹果CEO库克发文表示,很高兴顾客们能够体验我们最新产品的魅力。他感慨:“很高兴顾客们能够体验我们最新产品的魅力。 这一天背后是多年的努力 — 感谢帮助实现它的每一个人! ( So excited for our customers to experience the magic of our latest products. A day like today has been years in the making — thank you to everyone that’s made it possible. ​ )”。

  值得一提的是,在iPhone 14系列发布前,库克在一次采访中提到了苹果现状、产品创新,以及苹果创始人乔布斯。

  在被问及乔布斯会如何看待今天的苹果时,库克表示,乔布斯可能会希望苹果做得更好。

  库克认为,“乔布斯会在现在的苹果身上找到他喜欢的东西,他也会说,‘我们可以在这方面做得更好’。我认为他会发现好的一方面,也会看到不足。就像我们所有人一样,我们从来没有真正满足过。我们总是在为明天做准备。”

  今年不仅是乔布斯逝世的11周年,也是库克执掌苹果的第11年。在任期间,库克不仅带领苹果走上全球市值第一的位置,同时还拿出了Apple Watch、AirPods等代表作,这两款产品也成为现今苹果营收增长的利器。

  综合整理自:财联社、驱动之家

2022年9月17日星期六

澳门称健康码遭来自欧美地区300多万次攻击

  《澳门日报》15日称,去年5月初澳门健康码连续两天遭受境外网络攻击,导致部分人无法转换粤康码,珠澳出入境大受影响,关口一度人流拥挤。9月14日,修改《维护国家安全法》最后一场业界咨询举行。保安司司长黄少泽特别谈及去年5月这起事件,他说,经调查发现这是来自欧美地区的持续性攻击,多达300多万次。特区政府认为这并非普通的网络攻击,明显是想影响澳门的整体社会运作。

  黄少泽称,维护国安不仅是特区的宪制责任,也是包括澳门居民在内的全中国人民的法定责任,而关键基础设施与民生息息相关,以信息系统而言,一旦遭到网络攻击,严重者可对国家造成致命打击。为此,特区政府于2019年年底出台网络安全法,依法对澳门关键基础设施的信息系统开展防范性的安全管理,通过维护澳门网络安全,助力筑牢国家总体安全屏障。司警局局长薛仲明称,澳门每天都遭到大大小小的网络攻击,去年平均每分钟约受到3.4次攻击。

  今年8月22日,澳门特区政府宣布就修订《维护国家安全法》,即日起至10月5日展开公众咨询。修改《维护国家安全法》咨询文本建议增订教唆或支持叛乱罪,把与叛国、分裂国家或颠覆犯罪相关的教唆或帮助行为独立成罪;增补涉及公然和直接煽动他人参与危害国家稳定的骚乱的罪状,予以惩处;加重窃取国家机密罪的处罚;并把颠覆中央人民政府罪,修订为颠覆国家政权罪;增加试图推翻等罪,涵盖其他非暴力非法手段做出的颠覆行为。

  来源:环球时报

  微评:我觉得,健康码被攻击,主要应该是IT技术人员的锅。

  健康码这种系统要防止网络攻击,我一个外行都能想出很简单的应对方法:根据IP地址和位置信息,澳门以外的IP和位置拒绝访问。试问这么设置之后,欧美地区的黑客还怎么进行攻击呢?

  健康码系统的开发,应该有好几年了,这么多年还解决不了这么基础的安全问题,这还不是技术人员的水平问题吗?

2022年9月15日星期四

使用PHP直接操作WordPress数据库

  使用WordPress的时候,有时候会有这样的需求,就是想直接使用WordPress里封装的数据库操作的类,对WordPress数据库进行读写查询等操作,这里就介绍一下具体的使用方法。

  方法一:使用wp-load.php

  在php文件开头,加入如下语句

define( 'WP_USE_THEMES', false );
require_once( $_SERVER[ 'DOCUMENT_ROOT' ] . '/wp-load.php' ); 

  之后,就可以通过操作$wpdb类来进行数据库读写查询等操作。举例如下。

  查询

<?php $wpdb->query("DELETE FROM $wpdb->post WHERE post_id = 1"); ?>

  读取

<?php $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'draft' "); ?>

  读取一个变量

<?php $wpdb->get_var("SELECT SUM(meta_value) FROM $wpdb->postmeta WHERE meta_key = 'views'"); ?>

  读取一行

<?php $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10"); ?>   

  方法二:只用wp-db.php

  在方法一里,wp-load.php还会继续加载一大堆文件,实际上,核心文件就只有wp-db.php,如果我们只是进行数据库操作,不进行其他操作,那么可以只加载wp-db.php这一个文件。

  具体方法是:

  复制wp-config.php文件为另一个文件,例如wp-config-db.php,编辑这个文件,将文件结尾处的require_once(ABSPATH.'wp-settings.php')一行删除。

  将wp-db.php从wp-includes目录下复制到根目录下,编辑根目录下的wp-db.php文件,搜索filter,将包含这个词的语句删除。搜索foreach ( $modes as $i => $mode ),将这个语句的代码段删除。

  之后,在php文件开头,加入如下几行。

require("./wp-config-db.php");
require("./wp-db.php");
global $wpdb;
$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );

  之后,就可以使用方法一里的读取查询语句了。

  这个方法的好处是,可以不用安装WordPress的PHP系统,只需要两个文件:wp-config-db.php和wp-db.php就可以进行数据库操作了,数据库操作语句和原有WordPress系统的语句一样。