-gwa2 安全更新及域名绑定到模块

近期对 -gwa2 有几处更新,觉得有必要记下来供以后参考。

1. 安全组件升级
对 -gwa2 的全局输入变量做html标签的过滤,主要是为了预防 <script, <iframe, <embed, <img 等有害标签可能导致的跨站攻击xss. 此类操作之前都是在app的程序中按需做相应的处理,目前看来,这些需要还是有一定的共性,需要拿来单独处理。
改进的措施是将 < 符号统一替换为 &lt; .
加固改进后,应用开发层就不需要考虑再做类似的过滤操作,进入到业务操作层的代码已经是安全的了。唯有在需要html标签的地方,比如可视化编辑器等地方,需要存储为html标签,此时在输出层需要做一次转码。也即,在输出层做 &lt; 到 < 的转码.

2. 基于同一app内多个域名绑定到对应的子应用
-gwa2 吸收和使用统一入口这个多数优秀框架的属性或者称之为“路由”功能,为在同一App内绑定多个不同的域名到对应的各个不同的子应用、模块上提供了可能。遇有这样的需求时,可以为不同的模块使用不同的子域名来进行相应的访问。
通常访问某个app中的模块,其访问路径是:
//abc.com/?mod=product
如果使用单独的域名来对product进行访问,可以实现:
//product.abc.com/

这一地址也可以在“路由”操作时,根据被访问域名的不同,加载到 mod=product 实现与带参数访问一样的效果。
既然可以根据被访问域名的不同加载不同的mod,其域名形式就不仅仅局限于子域名,甚至可以完全不同的写法。如:
//efg.com/
同样可以指向 mod=product 模块。
这种写法或对基于SaaS的一些应用会有帮助。

3. 命名空间的使用
在使用 -gwa2 的新应用中,使用了两个外部组件,一个是有命名空间的构件,namespace xxxx, 另外一个是没有namespace ,结果就发生了外部空间中也命名了 Message.class 这个类,与自身业务对象发生冲突。表现为运行时报错说 message 这个对象不能重新declaration,需要解决。
解决的办法,在namespace出现之前,只有将两部message.class改名,可以分别该做message_xxx 和 message_yyy以避免命名冲突。
有了namespace之后,情况可以维持不变,继续分别叫这个名字,只是在应用时要加上各自的引用路径,从\写起,有些类似file system一样。
考察这里的namespace,与java和perl中的packgage有一些类似,都是在对象的再上一层形成“对象组” class group, 从而使得多个相同的类,可以分别存在在不同的命名空间或者组、包之内。

 

发表在 -GWA2, 编程技术, 计算机技术 | 标签为 , , , | 留下评论

愛自己悅己容汽車老司機車載汽車老司機好奇婴幼儿

炸掉新房子与倒掉鲜牛奶

炸掉新房子与倒掉鲜牛奶,都是令人可惜的事,从感情上无法接受,但理性上可能必须那么做。
网上热议的时炸掉房子和倒掉牛奶,为了更准确的描述问题,我加了描述为炸掉的是新房子,倒掉的是鲜牛奶。倒牛奶的是历史,是否最终也会形成炸掉新房子的事,立此备查。

1.  炸掉新房子:吉诺斯谈中国    -R/42TU 

“吉诺斯:那要回到09年的秋天,当时我们正在研究为什么全球采矿业在08-09经济危机导致的萧条中居然会一枝独秀。从直觉上讲,我知道那是因为中国是一个巨大的商品需求来源,但我不知道它到底有多大。直到我的房地产分析师把一些数字堆在白板上。其中一位说:“至2009年夏天,中国获批和待批的在建房地产项目达到56亿平方米。其中一半是公寓楼,另一半是商业楼和混合用途的楼房。”我说,等一下,你把小数点搞错了吧?因为56亿平方米就是600平方英尺。不可能有这么多的。他看了看我,又重新检查了一下数字说:“是56亿平方米。”
啊哈!那一刻我全明白了。如果一半的房产项目都是办公室和混合商务空间,那就是300亿平方英尺。中国有12亿-13亿人,结果就是这个国家里的每一个男人、女人和孩子都可以摊到一个5 x 5英尺的办公室隔间!顺便说一下,那还是已经建成的。我认为照那个时间推算,最新的在建项目数字应为106亿平方米。
我惊呆了,这是何等庞大的房地产。它似乎是把我们80年代末的商务地产泡沫和2000年的私房泡沫合一块了。只是他们是在同时做这事的。当我们开始对这些数字细加探究时,我们看到,他们的实物投资占了GDP的50%。他们的这种行为简直是疯狂。他们实际上是在这几年里建造了一个完整的国家。“

2.  炸掉新房子:任志强:关于炸掉!-R/e2TU  

从年度的销售面积与库存的比例看,也许库存的总量并不可怕。但却影响着现金流和再生产。更重要的是影响着土地资源的有效利用。
政府也许会出台各种有助于消化库存的政策。但并非所有的库存都能靠政策被市场消化。当房子盖在了不合适的地方,(包括住宅、写字楼与商业)也许只能炸掉,推倒重来。

3. 倒掉鲜牛奶
-R/a2TF
为什么牛奶卖不完宁可倒掉也不免费送人?

 

发表在 社会生活 | 留下评论

好奇婴幼儿中国国民党革委会中国国民党Apache Softwares

-gMIS, -GWA2, -GTAjax 一并更新

周末集中整块时间对 -gMIS , -GWA2 和 -GTAjax 分别进行了小幅度的更新。

周末的北京是近年来少有的冷天。猫在家里写东西。

1. -gMIS
更新了所用组件 ido.js 在递送给 -GTAjax 的回调函数时,有未考虑对象为null的JavaScript片段,加上异常处理情况。
更新所用组件 -GTAjax。

2. -GTAjax
沉寂了好久的 -GTAjax这个周末进行了小幅度更新,没有新增功能,而是增加了便于进行逐行调试的track id。track id的思路最早来自在 -ChinaM 时写 -Java 需要逐个模块的跟进在编译、运行和业务层面的程序分析,后来用在 -GWA2 和 -gMIS 等应用中。现在将这个也在 -GTAjax 中进行实现,有望在后续升级改进和debug时候能够进行快速而准确的定位。
这种定位,不单只是程序上的技术问题,有很多时候在业务层面的分析与判断也很有益于业务系统的改进与提高。

3.  -GWA2
新功能增加,将原来默认不启用的RESTful地址功能改为默认启用。其具体实现是:

################### 关于 RESTful URL地址风格的实现, Mon Oct 15 22:15:17 CST 2012, update Sun Jan 24 14:43:59 CST 2016

1. 资源访问路径中的 ? 去掉

此前的: http://ufqi.com/dev/xxx/index.php?mod=web&act=preview&id=1234
RESTful的: http://ufqi.com/dev/xxx/index.php/mod/web/act/preview/id/1234
RESTful的: http://ufqi.com/dev/xxx/i/mod/web/act/preview/id/1234 ## use i as a soft link to index.php in server side

2. 规则,”?” 后面的参数,总是成对出现,奇数位的是参数名称,偶数位是参数值,

3. 实现:
在后台程序中,使用 $url.”/para/value” 的样式拼合
在Smarty模板中,使用那个 {$url}/para/value 的样式拼合

在入口程序中,./index.php (i) 对 / 分割的参数重新转为 $_REQUEST 变量,同时重写

$_REQUEST[‘para’] = value;
$_SERVER[‘REQUEST_URI’];
$_SERVER[‘QUERY_STRING’];

4. 在其他程序中,与普通动态地址一样使用

5. TODO: 需要对 value 中的 “/” 做转义或者编码

6. 默认情况启用,since Sun Jan 24 14:00:51 CST 2016 ## !!!RESTful URL地址风格在默认情况下不开启.

一个周末,同时更新三个软件。

发表在 -gMIS, -GTAjax, -GWA2 | 一条评论

汽車老司機好奇婴幼儿中国国民党革委会中国国民党

21格表, 21cell, 21grid

21格-有格线-横版-2016

想改掉一个坏习惯?想养成一个好习惯?! 只要21天!只要21格表来帮助!就能成!

美国的一位整容医生麦斯威尔.莫尔茨(Maxwell Maltz)在其一本书Psycho-cybernetics中首次发现,观察整容后的人,发现他们平均需要21天来习惯他们的新脸孔,而截肢病人具有的“幻肢”体验往往需要21天才消退。

由此从生理学证实了改掉一个坏习惯和养成一个好习惯,至少需要21天(三周)的时间。这是网上21天说法的各种来源。最早来源美国心理学家威廉.詹姆斯(William James)的说法未获得其本人的认可。

英国伦敦大学学院的健康心理学家费莉帕.勒理(Phillippa Lally)及其同事,招募了96名参与者,让他们每天重复一项与健康相关的活动,来研究改掉一个坏习惯或养成一个好习惯的时长。结果表明,平局需要66天(3个21格)来改掉一个坏习惯和养成一个新习惯。

所以,在做一项计划来改掉一个坏习惯和养成一个好习惯,最短21天就能实现!平均需要三倍的努力63天左右,就—-能—-成—-功!

关键是要用 21格表来管理这一艰难而又愉快的进程。

21格-无格线-竖版-2016

打开在线21格表: -21cell , -21格表

在线购置一个 21格表:    -R/c2TQ  ,   -R/T2TJ

发表在 社会生活 | 标签为 | 留下评论

愛自己悅己容2nd愛自己悅己容汽車老司機車載汽車老司機

找回手机功能

今天体验了一把iPhone的找回手机功能。

忙完上午的作业,去做面食。手机放在沙发上。午饭后找不到了,拨打手机,回响是不在服务区,无法接通。由于没有出去,所以也不担心,睡午觉。

醒来后继续找,再次拨打,回响是手机关机了。这下着急了。于是挪沙发,挪床,各个房间,翻箱倒柜,就是不见手机的踪影。更捉急了,开始审问女儿和儿子,是否在做恶作剧,有点过分了,手机指定是在室内,但到底哪里去了?

妻子提醒说,iPhone有找回功能,抱着试试看的想法,打开电脑,登录到iCloud,发现定位到就在家里,这几乎没什么用啊,我是知道手机就在室内的,怎么办?
iphone-location-service-201601
iCloud的找回功能提供了,播放声音、丢失锁定模式和擦除数据的选项,居然能播放声音?于是请大家安静,点选播放声音,果然,一阵警铃声响起,大家循着声音方向查找,在距离客厅不远的紫光阁的角落里的一个铁质公共汽车玩具里,找到手机。

于是谜底揭开:手机被密封放在铁质公共汽车玩具里,所以运营商的信号被屏蔽,又由于手机处于低电量模式,所以运营商第二次的回响就由无法接通变成了“已关机”。但手机在公共汽车玩具里的手机可以通过WiFi与苹果的服务器进行通信。过程是两岁儿子将我放在沙发扶手上的手机,拿着玩,然后随手将iPhone装入刚好能放下手机的公共汽车铁质的玩具中,并且盖上盖子,就差再锁上,因为锁具已分离或丢失。

没错,这是要说的重点,苹果手机可以随时随地在与苹果的服务器进行通信。这种通信具有消息推送功能,平时的各种推送消息就是靠定时连服务器的轮询实现的;这种通信还能够帮助定位实现类似“找回”功能。

往好处想是这样,往坏处想,其实苹果公司知道其每一个用户的每时刻的物理位置,尽管GPS到MAP有偏移,但大致不会错。如果用它来做点坏事,太可怕了,别的手机及其操作系统也有类似功能。如果被误用、滥用或者泄露,都是灾难。
手机是手雷。

其二,运营商信号不好使的时候,WiFi居然继续能用,在这个case里,如果没有没有本地WiFi做联网支撑,估计要过很久,而且我们不会将玩具公共汽车随手扔了的情况下,才能重新找回iPhone. 循此,室内定位或物品管理,可以开发这样的模式,在物品内嵌或粘贴带有WiFi模块的定位芯片,可以轻易实现找回功能。

2016,新年好。

发表在 服务器运维, 社会生活, 计算机技术 | 标签为 , , , | 留下评论

中国国民党Apache Softwares亮月亮科技OpenAI ChatGPT

汽车后视镜调整,免费软件、开源软件和自由软件两则

最近制作了两个示意图,补录如下:

1. 汽车后视镜调整国际规范
汽车后视镜调整规范.201512.2

 

2. 区分免费软件、开源软件和自由软件
免费软件(free, gratis)软件,开源(open-source)软件和自由(free, libre)软件。
software-authorization.201512

 

附记:
1)  Yoyo的课业比我预期的有难度,尽管只有三年级,但感觉与我小时候学的五年级差不多。其英语的听力,甚至让我想起了大一时听的 listen to this. 数学里类似求两点之间最短路径的走法,让我想起计算机网络研究生课程里的 Dijkstra’s algorithm。

2)  Hanu勉强能说词语了,有点令人着急, 但其心智明显比较成熟了。
听说大人出门,会去拿鞋子;
吃饭时会主动拿杯子跟桌子上的每个人干杯,无论远近;
东西不乱扔,垃圾会丢到垃圾桶里;
早上妈妈在东南海跟Hanu说,给妈妈找个创可贴来,手指受伤了,他就会跑到客厅放创可贴的的药箱里找到一个拿回到东南海给妈妈;
早上还在缠着我帮你玩陀螺,晚上就会自己插线、装载陀螺头,然后抽拉放出飞速旋转的陀螺,然后会连续放第二个,两个一起在地上同时飞转,学习得真快!

3) -NatureDNS 在售,网店。

发表在 社会生活 | 标签为 , | 留下评论

書中自有顔如玉愛自己悅己容2nd愛自己悅己容汽車老司機車載