我要的只不過是個好的系統 – 淺談台灣學校網站問題

11 / 1, 2014 其他

之前因為在學校發生一些事情,加上我在開發 SCMKit ,所以心血來潮寫了這篇文章,同時身為學生和Programmer,對於台灣學校網站的問題,真的心有戚戚焉啊,不但難用,而且又封閉,讓人看了很不爽,真的感覺很傷心,人家美國對於學校系統,都是用像是 Moodle 或是其他系統,台灣為什麼總是落後別國呢?所以在此,小弟發表以下不負責任的拙見

我歡迎理性討論,但是不歡迎筆戰,如果有想法,歡迎提出,但是溫和點,由於這屬於個人主見,請尊重小弟和所有網友的想法,謝謝
以下所有範例網頁都是針對 .edu.tw 下去搜尋到的,沒有特別針對意圖

你確定要我用這麼難用的系統?

回想過往,對於台灣學校的系統,都是難用中的難用,功能殘缺,介面靠悲,資安薄弱,交個作業要過關斬將,看一下考試成績,靠主機又當掉了,我想把密碼改成 ' ; Drop table user;# ,奇怪怎麼不能登入了?這到底什麼鳥系統啊

介面有 RWD 欸超高科技的

不要懷疑這真的有 RWD …..請問給我們一個方便好用 user-friendly 很難?到現在什麼時代了還在用 table 排版,用 gif 當作超可愛動畫,要不要考慮加上一個背景音樂,剛剛好,交個作業要到處找連結,通常繳交按鈕都在一些很奇怪的地方,查詢資料時色彩讓人看了眼花撩亂,我只不過是想要看一下明天考什麼可以不要這樣欺負我嗎…..
school-web-problem-1

而且有些設計很有趣,越常用的功能連結越小,死都用不到的功能連結倒是特別大,不然就是 icon 看起來很遠古時代
school-web-problem-2

總整理一下常見問題

  • 介面雜亂,實際上用的到的沒幾個
  • 重要的連結都在很深處,你當我在練習 DFS?
  • 使用太古老的技術,沒有善用 CSS3
  • 用太多 Flash 和奇怪的 GIF 動畫
  • icon 太古老
  • 使用 table 排版
  • 使用 IE Only 的功能

架構雜亂

這裡說的架構,除了後端的 Code 以外,還有前端的 HTML 架構和 JS 寫法,有時真的會遇到哭笑不得的程式碼,像是一堆不知道在判斷啥的Code完然後就 goto fail 了,或是把明明五行可以解決的弄很複雜的寫法,甚至把以前的 Code 註解掉,變成註解比原始碼還要多,這樣不但讓維護困難,而且載入速度也會變慢,有些學生(像是我)可能會協助學校改一下系統 Code ,這時真的就是 OMG…..
school-web-problem-3

school-web-problem-4

我想要開發程式連接學校系統,什麼?沒有 API ?

因為學校系統真的是太莫名其妙了,或是功能不夠強悍,這時可能會有學生想要自幹一個系統連接學校,像是 CrossLink (NTUST) 之類的東西,但是許多學校的系統往往因為是外包的,都是閉源,更不可能有 API 這回事,變成很多時候必須用 curl 等等方式暴力爬行然後用 Regex 等等方式去解析出需要的東西,或是很不科學的人工新增資料,啊就給個 API 是個高深的挑戰?有個 API 能幹嘛,讓我們列出來吧:

  • 段考和報告 Deadline 倒數計時
  • 圖書館還有哪些書
  • 整合全校公告、班級公告和全國關於教育的新聞等等
  • 全校活動整理和可租借的場地
  • 合作社便當樣式和價格
  • 全校正妹與黃金單身漢總整理

我隨便說說,都可以說出這麼多,更不用說實體投入時可以有多少發揮,但是卻沒人願意公開 API ,為什麼?不外乎要花錢請外包作,太麻煩,會被濫用。之前看過有人說學校不願意公開API是合理的,因為是牽涉全體學生資料的東西,不能有一點閃失,如果 API 出了問題會很慘,雖然如此,但是這不構成不公開的理由啊,Google和FB有因為公開API有損失嗎?一切就是要作與不作之間的差別而已

不夠社群

要如何讓資料可以快速傳播呢?放在學校官網誰想看啊,這時就必須透過社群的力量,幾個人轉貼很快全校就知道這新聞了,但是學校往往不會運用社群的力量,資料不能一鍵分享,新聞沒辦法自動同步到 FB 或是 Plurk,要複製是嗎?我還遇過不允許複製的,雖然可以透過禁止 Javascript 來解決,但是這已經大大降低我想要分享的意願了,請問不允許我們分享資訊的好處在哪裡?應該很少有人每天看學校官網,但是每天看社群網站的卻很多,為何不好好運用這種力量呢?
school-web-problem-8

咦?我剛剛好像放了單引號

好像台灣很多學校的網站安全性都很靠,以我自己的例子,我之前黑進學校系統(壞示範不要亂學),被帶到資訊組去處理之後,隔天廠商來修,一個星期後我又黑進去了,前前後後三次被黑進去,到最後我甚至是一次蒐集很多漏洞在一起通報,不然好浪費時間,裡面有全校包含老師數千人的個資,從姓名到地址身分證字號都有,卻這麼多漏洞,更恐怖的是密碼完全沒加密,一進去大家的密碼都可以 Dump 下來,之後我說一定要加密,結果他們用了 base64…..

一般來說最常被用的就是 SQL injection了~
school-web-problem-5

當然不能忘記最經典的 XSS ,我通報 XSS 之後,老師竟然跟我說:啊就跳視窗會怎樣嗎?不要等到我挾持你的 Session 時再來跟我說這很危險…..
school-web-problem-6

之前黑進去時,第一二次是用上傳漏洞,分別是 .php5 (我也不知道為什麼他們沒有防護) 和 .php.png ,第三次是 SQL Injection,之後我通報的漏洞也有很多 XSS 和 CSRF 漏洞,根本防不勝防啊….

除此之外,還有請好好設定 robots.txt ,不要讓網路蜘蛛亂爬,他會爬到不該爬的東西……
school-web-problem-11

有時甚至會不小心爬到帳號密碼,尤其是沒加密的那種…
school-web-problem-12

開源是什麼?自己寫最厲害啦!

不知道為什麼在台灣流行自幹,明明就有 Moodle 之類很好用的東西啊,或是 Google Classroom 也不錯啊,以後還有 SCMKit 欸(老王賣瓜一下XD),何必什麼都要外包或是自幹呢?到時出問題外包的跑了又不知道怎麼辦,就沿路抓學生去處理,這樣不覺得很沒效率嗎?小的最常聽到不願意用開源的原因不外乎:

  • 開源的都不好 -> 你發燒了嗎
  • 開源的沒有特色,大家長的都一樣 -> 自己改介面啊,開源本來就可以讓你改
  • 大家都看得到原始碼,會有資安漏洞 -> 原來三人作滲透測試勝過千萬人幫你看原始碼
  • 開源不符合我的需求 -> 開源就是允許你改啊…
  • 感覺不夠屌 -> 所以自己寫爛系統很屌?

版本太舊

我之前曾經幫某學校寫過一套系統,他們竟然跟我要求要完美支援 PHP4 ,那是什麼年代的東西啊,最後我就推掉了,因為真的太扯了,他們的理由是:我們主機是 PHP4 ,現有系統如果要升級到 PHP5 ,程式要重寫,太麻煩了,所以你就寫 PHP4 吧,重點是那個版本一去查 CVE ,漏洞一堆,但是為了怕麻煩,不升級就是不升級,請問升級系統很困難?舊版系統不但很多新功能不支援,而且漏洞很多,尤其是官方停止支援的版本更誇張,漏洞滿坑滿谷,除此之外也會造成維護困難,效能消耗較多(其實也不一定),總之請支持新版
school-web-problem-7

手機回家洗洗睡吧

很多網站到現在還是使用 Flash (見上文敘述),導致手機根本看不了,要不然就是沒有手機版或 RWD (table式的 RWD 不算XD),現在什麼年代了還不提供手機版?拜託給力一點好不好,多設計個 RWD 或是手機版很困難就是了,手機版可以增加行動使用者看官網的意願,這非常重要,我們已經進入行動的時代了,加入手機版支援吧….
school-web-problem-9

萬惡的微軟帝國

很多學校系統到現在還是 IE Only ,並不是說 IE 不好,事實上 IE 10 以後的版本都不錯,重點是也要照顧 IE 以外的使用者啊,而且很多 IE Only 的網站都是用了各種奇怪的 Hack 或是 Tag 才會讓其他瀏覽器無法完美支援,拜託尊重一下其他瀏覽器好不好…
其實小弟還有一點很看不爽的就是,學校分享資料都是 .doc ,這種封閉又難用 M$ 帝國產品可以不要用嗎?有 OpenOffice 和 LibreOffice 為何不用呢?你當世界上每個人都有 M$ Office喔,請支持 Open Source 的文件檔案
school-web-problem-10

不是錢的問題,是意願

或許你看完上面,你會說:「拜託學校又沒錢作」那我必須告訴你,這不是錢的問題,是意願,以大學來說,請學生協助太容易(說是協助,其實都是強迫XD),國高中一整個學校不可能沒有老師或學生會寫程式,修改一下開源專案就可以符合要求了,根本不需要有高深的技巧,就算真的要外包好了,寫一個好系統很貴嗎?對一個學校來說花幾萬元買數年的好用系統真的很困難嗎?一切不是錢的問題,是要不要去作

學生們站起來吧

學生的力量無限,如果你跟我一樣是看不爽學校系統的人,站起來吧,請你加入我們的行列,說服學校換更好更安全的系統,請求學校開放出資料和 API 給我們這種學生兼開發員使用,最近國外也出現了 Campusdata 之類的東西鼓吹 Open Data ,還能說開放資料不重要嗎?當然還有加強學校資安,因為裡面都是我們的資料,維護我們資料的安全是學校的責任。最後,分享你們的看法,寫出自己的意見,讓更多人知道台灣學校網站系統的問題。

如果需要前人給的教學,在這裡:
http://campusdata.org/guidebook/

不要覺得事不關己,否則20年後,情況不會有所改變,唯有從你我做起,才能讓世界更美麗,系統更好用,個資更有保障