Mari Cuba Web Apps yg Saya Bina Version 0.1a
Linkman Pwa - Tue 15/Jun/2021 9:42pm [Last Comment]
Setelah beberapa bulan study berkenaan website apps, akhirnya versi 0.1a siap pada hari ini.

Versi 0.1a
1) Boleh login as guest
2) boleh post topic di Test Module
3) Boleh edit topic
4) boleh delete topic
5) boleh view topic
6) then boleh logout.

Klik disini:
https://www.azmanoz.com
(jangan lupa klik pada 'guest' utk login as guest)

Selamat mencuba thehe..

Niche: Diskusi Bisnes | Web Design Malaysia
 
1. Linkman - Tue 15/Jun/2021, 10:05pm
Dua sumber utama utk version 0.1a ini adalah:

1) W3schools - How to make a website
https://www.w3schools.com/howto/howto_make_a_website.asp

2) The Net Ninja - learn php (procedural) & mysql
https://www.youtube.com/playlist?list=PL4cUxeGkcC9gksOX3Kd9KPo-O68ncT05o  
2. Linkman Pwa - Wed 16/Jun/2021, 10:55am
cabaran2

1) w3schools mengajar cara buat website responsive yg sangat baik menggunakan cara 'css flex' .. tapi tak tahu sebab apa mereka gunakan method 'desktop first'. Saya kena tukar kpd 'mobile first'

2) kemudian Net Ninja mengajar php/mysql macamana nak masukkan data, edit dan de1ete kedalam table.. tapi masalahnya net ninja tak tunjukkan macamana cara nak login. dia buat website 'open' semua orang boleh post info, edit & de1ete. Jadi saya kena buat login system dahulu.  
3. Linkman Pwa - Wed 16/Jun/2021, 10:55am
untuk login system, saya berikan 'Acces Level'. Tujuannya supaya boleh dibezakan jenis2 users.

Saya akan gunakan konsep catur/chess utk Access Level

1) level 0 - web visitor, tak login
2) level 1 - guest login (akan di 'disable' bila apps siap nanti)
3) level 2 - pawn (level paling bawah selepas login)
4) level 3 - rook - vip
5) level 4 - knight - vvip
6) level 5 - bishop - (level admin, bawah arahan queen)
7) level 6 - queen (second power.. boleh buat semua yg king buat kecuali create/de1ete table)
8) level 7 - king (paling power, boleh create/de1ete table)  
4. Linkman Pwa - Wed 16/Jun/2021, 10:55am
cabaran:

macamana cara utk mendapatkan ID yg pendek dan kemas mcm majalah.com. setakat yg saya buat guna php uniqid() - dapat ID yg panjang mcm nih - 60C8B15DD4F59 (13 characters)

saya nak cari cara utk buat ID yg pendek - GJNXJG5G4H (10 characters sahaja).. nanti saya tanya programmer majalah.com..

buat masa ni pkp mmg tak boleh jumpa face to face.. kalo nak terangkan dlm whatsap mmg susah..  
5. Linkman Pwa - Wed 16/Jun/2021, 10:56am
cabaran utk sanitise data.. iaitu macamana nak bersihkan data yg user masukkan dan pastikan bebas dari ancaman

1) cross site scripting attack (XSS attack)
- guna php htmlspecialchars()

2) sql poison injection
- guna php mysql_real_escape_string()

3) URL ($_GET) poison injection
- guna function saya buat sendiri
- function buat sendiri - allow_alphanumeric_character_only()
- kalo user masukkan character pelik2 macam $*%! dll.. semua akan dibuang.

4) URL ($_GET) alteration
- bagaimana nak elakkan user1 dari edit user2 punya record hanya dengan menukar record ID di URL? ..yg ni saya masih dalam kajian.. tapi sangat penting dari segi securiti!! saya akan tanya programmer majalahcom..  
6. Linkman Pwa - Wed 16/Jun/2021, 10:59am
design prinsip: password hash

oleh kerana password adalah sensitive, jangan simpan password registered users dalam plain text di dalam database kerana boleh dibaca.. sebaliknya simpan dalam bentuk hash md5() yg telah ditambah ''salt'' utk menambah lagi securiti.  
7. Halal Investor - Wed 16/Jun/2021, 11:13am
php ke bos ? sy baru merangkak je php ni..
tunjuk ajar sifu..

ini pun boleh cuba

echo substr(md5(time()), 0, 10);  
8. Linkman - Fri 18/Jun/2021, 9:50am
OK Tuan Halal Investor.. saya akan try.. Trima Kasih Tuan.  
9. Linkman - Fri 18/Jun/2021, 9:53am
Cabaran: Navigation bar/menu

banyak hari dihabiskan utk mencari penyelesaian navbar yg sesuai.. kalo nak cari yg pure css3/html5 memang susah dan banyak solution yg memerlukan javascript atau jquery..

solution... akhirnya saya tak pilih mana2 pun.. saya buat sendiri dengan modify w3schools punya navbar dan combine dgn basic php page sahaja.. lagi senang nak program.. tak memerlukan javascript.  
10. Linkman Pwa - Sat 19/Jun/2021, 9:49am
Todo/Challenges: To create/alter table within apps without using phpmyadmin.

Saya dapati utk create dan modify database & table menggunakan phpmyadmin agak slow.. terpaksa toggle between coding & phpmyadmin.. terutama sekali kalau dah upload ke webhosting.. nak login ke cpanel pulak mmg leceh..

solution:

1) first round create field wajib sahaja
- autoincrement number
- record id
- user id
- registered timestamp
- last update timestamp

2) everytime new fields are required.. we must be able to do so within the apps itself using the highest admin level (king = level 7)