Category Archives: Develop

[App Inventor] Web客户端元件 POST 传值的使用方式 – 藏经阁

过去在开发App时,Web客户端元件大部份都以Get的方式进行值的传递。那可以用POST吗?以下简单的范例,我们将使用Web客户端元件以POST的方式传值给一个PHP程式,然后再返回结果显示在App中。

1. 如下图我们新增一个专案,在工作面板中拖曳一个按钮,一个标签及一个Web客户端。我们希望等一下按下按钮时,能将值以POST的方式传递到指定的网址中,得到结果后再显示在下方的标签中。

20161104-001

2. 接着开始写程式,当按钮点选时,设定Web客户端的网址,并且呼叫Web客户端执行POST文字的请求,文字的内容格式为“参数=值”,如果有多个参数格式为“参数1=值1&参数2=值2&参数3=值3”。

3. 当Web客户端有收到资料时,再将回应的文字显示在标签之中。

20161104-002

4. 接着是PHP程式的内容,这里很简单就是用 $_POST[‘参数名称’] 来接收,显示在页面上。程式如下:

<?php echo $_POST['try'];?>

5. 我们马上用实机来测试,如下图我们按下按钮后,参数传到PHP页面,再把显示的文字拿回来放在标签中显示了!成功。

screenshot_20161104-110501

您如果有POST的需求可以参考一下,谢谢。

管理网站,平常该注意哪些事呢?

我们每天开电脑逛网站,这些看似稀松平常的事,是谁让它变得简单呢?你可以想像,在每个网站的背后,其实都有着一群非常认真且敬业的工程师,不分昼夜的辛苦监控网站营运,并随时根据流量变化,即时调整与优化,才能让电脑桌前的你,可以安心浏览网站。

网站并不是上线后就没事,相反的,上线后才是任务的开始,需要定期的维护、时时关心网站健康,就好比我们每天都会收发 Email、喝水吃东西,有些基本的项目,都该列进网站管理者的例行公事,接着就让我们一件件检视,有哪些网站管理的基础守则吧。

一、定时查看网站存取记录

网站存取记录,存放着网站被浏览、被下载、被上传、被存取哪些连结的纪录。举例来说,假如网站是 PHP + MySQL,主机通常就是 Linux + Apache 的环境,会有 access_log (范例一)、error_log (范例二)这两个档案,接着直接引范例做说明:

范例一、access_log 通常记录着被浏览了哪些连结,哪个来源 IP 浏览了此网站。网站如果有帐密登入的功能,想观察是否有有心人士在尝试输入帐密,我们可以从 access_log 查询来源 IP 是不是自有,也可以因此做一些防范,例如密码设强一点、定期更换、锁来源 IP 等等。

范例二、error_log 记录着被浏览的连结可能存有的错误讯息,例如 NOTICE 或 ERROR,有 ERROR 就需要注意并修正,否则将影响网站的正常运作。

二、确实检查网页档案及内容

一般网站都会有图片,而图片如何来,一是从网页程式中上传,另一种则是 FTP 上传,无论是用何种方式上传,存放网站图片的目录(比方说 : /upload/image) 当它里面出现一个档案 xx.php,你觉得有没有问题呢?肯定是要检查一下!存放网站图片的目录里会有 xx.php ?不是要存 xx.jpg 或 xx.png 等等的档案类型吗?

这里要探讨的是,如果是从网页程式上传,主要原因就是程式没有过滤上传的档案类型,比方说 xx.php 就不应该被上传,如果 xx.php 是恶意程式,一旦被执行了可能网站里所有的资料(包括会员、交易资料)都可能被看光光,甚至破坏网站、删除资料等,这可是相当严重的漏洞,必须小心。

三、定期更新程式

无论网站是否为外包设计公司制作,大家可能多少都会使用一些常见的套装软体,像 WordPress、phpBB、Joomla 等等,而以 phpBB 为例,常会因为版本过旧没有更新,而被利用漏洞塞了很多垃圾留言,导致资料库的资料量增大,影响程式和资料库的存取,增加主机负载,这时最明显的情况就是网站会变得很慢,因此,网站的程式(尤其是用免费的套装软体)应该定期检查并更新,让服务随时处于最佳状态。

四、检查 SSL 数位凭证有效性

SSL 数位凭证可视为网站的基础防护,当企业网站具备会员登入功能时,如何才能防止客户输入的资料,遭到第三方窃取并解读呢?这时候就依靠 SSL 数位凭证了,将客户输入的机密资料转换为加密位元,即使遭到拦截,依旧不能完整读取,一方面是保护客户资料安全,提升信任感,另一方面则是防止企业需要承担资安外泄所造成的品牌与财务损失。因此网站管理者需要留意凭证到期日,定期续约,确保凭证可用性。

五、监控网站主机流量变化

通常网站经营一段时间,都会有流量变化的平均曲线,管理者需要确实监控流量变化,避免突然其来的大流量影响网站营运,有时候,短期涌入的超大流量甚至有可能是攻击事件,恶意瘫痪网站,导致服务无法顺利运作,此时便要即时做出防护与资安因应措施,阻挡外来攻击。相反的,若是要主打线上活动,就需要适时增加频宽流量,调配资源以符合活动需求。总之,无论监控项目是什么,最终目的就是要维护网站的顺利运作。

六、定期修改密码

密码的定时修改,一向都是最基础也最重要的一件事。攻击不分时间,一年 365 天、8760 个小时网站都有可能随时遭受攻击,像是最常见的密码暴力破解。所以就算觉得累、嫌麻烦也一定要定期改密码、更新程式,这才是网站的保命之道。

七、网站基本安全扫描

网路上有一些免费、基本的网站扫描工具,其实大家可以善加利用,为网站做最基础也最省钱的安全把关,确认网站有没有恶意程式,或钓鱼程式等等,而免费的当然提供的资源有限,还是需要多靠工程师的严格把关与确实检核,让网站每分每秒处于安全之下。

以上,或许只是网站维运工作的冰山一角,现实工作中的网站经营维护,远比我们所想的还要多且复杂,但既然架了网站,就还是要花心思与时间,好好关心网站运作状况,在此,也让我们对辛苦维运网站的众多工程师,说声“辛苦了”,有你们的付出,才能让我们每个人都能当个快乐低头族(哈)!

Programming Fonts 线上比较 50 种最适合写程式的等宽字型

Programming Fonts 線上比較 50 種最適合寫程式的等寬字型

前几天介绍过针对工程师编写程式码需求而设计的免费字型 Mononoki,在搜寻资料时,我也发现了一些不错的相关工具,其中一个“Programming Fonts Comparison”网站是我这篇文章要分享给各位读者的线上服务。它集合超过五十种以上等宽字型,让使用者透过浏览器预览这些字型的字元显示效果,切换不同配色和大小,亦能在相同程式码范例套用不同字型集,找出最适合自己工作或写程式时使用的字型。

 

Programming Fonts 本身是一项开放原始码专案,网站建置于 Github,开启网站后会显示出所有收录其中的等宽字型(Monospaced Fonts),同时显示大小写字母 A-Z、数字和标点符号,这些都能在浏览器中直接检视、让使用者预览效果。

为了让我们更能了解该字型在程式码编辑器的显示情形,可以切换成黑色背景、字体大小或开启反锯齿(ClearType、gdipp),亦能选择一些你有兴趣的字型,透过比较模式来查看在同一段程式码的表现方式,如果你想挑选适合自己的等宽字型,绝对要到这网站来看看。

网站名称:Programming Fonts
网站链结:http://s9w.github.io/font_compare/

使用教学

开启 Programming Fonts 网站后,立即出现在眼前的是所有收录其中的等宽字型各字元显示预览!需要特别注意的是对于大写 I、小写 l、英文 o、数字 0 这些容易混淆的字元是否能够清楚快速辨识,相信这些字型都有着易于辨识且不易看错的特性,尤其是应用到编写程式码上就显得格外重要。

点选字型名称会连结到该字型网站,多半也能找到下载链结。如果想要比较几个字型的差异性,可以勾选框框,再按下“Compare”来切换到深入比较模式。

Programming Fonts

从左上角选单来切换不同的布景主题配色、模式、反锯齿和字型大小

Programming Fonts

下图是我切换至 Dark 黑色模式所呈现出来的效果,看起来是不是更贴近编辑器呢?

Programming Fonts

另外,Programming Fonts 有另一项模式:Compare,可以在勾选一些字型后,丢到比较模式来套用到相同的一组程式码,即时显示出加上色彩的效果,同时在不同的字型大小及反锯齿渲染选择,算是非常实用的功能。

Programming Fonts

之前我还介绍过一些免费的等宽字型下载,例如:

我目前持续在使用的是 Iosevka 和 Hack 这两项免费字型,有兴趣的朋友不妨到网站上寻宝一下,找出自己最喜欢也最适合工作的字型吧!