www.glcnetworks.com
Building API with
PHP
GLC Webinar,
8 Apr 2021
Achmad Mardiansyah
achmad@glcnetworks.com
GLC Networks, Indonesia
1
www.glcnetworks.com
Agenda
● Introduction
● Review prerequisite knowledge
● web2.0
● Machine to machine communication
● API
● Live practice
● Q & A
2
www.glcnetworks.com
introduction
3
www.glcnetworks.com
What is GLC?
● Garda Lintas Cakrawala (www.glcnetworks.com)
● Based in Bandung, Indonesia
● Areas: Training, IT Consulting
● Certified partner for: Mikrotik, Ubiquity, Linux foundation
● Product: GLC radius manager
● Regular event
4
www.glcnetworks.com
Trainer Introduction
● Name: Achmad Mardiansyah
● Base: bandung, Indonesia
● Linux user since 1999, mikrotik user since 2007, UBNT
2011
● Mikrotik Certified Trainer
(MTCNA/RE/WE/UME/INE/TCE/IPv6)
● Mikrotik/Linux Certified Consultant
● Website contributor: achmadjournal.com, mikrotik.tips,
asysadmin.tips
● More info:
http://au.linkedin.com/in/achmadmardiansyah
5
www.glcnetworks.com
Past experience
6
● 2021 (Congo DRC, Malaysia): network support,
radius/billing integration
● 2020 (Congo DRC, Malaysia): IOT integration,
network automation
● 2019, Congo (DRC): build a wireless ISP from
ground-up
● 2018, Malaysia: network revamp, develop billing
solution and integration, setup dynamic routing
● 2017, Libya (north africa): remote wireless migration
for a new Wireless ISP
● 2016, United Kingdom: workshop for wireless ISP,
migrating a bridged to routed network
www.glcnetworks.com
About GLC webinar?
● First webinar: january 1, 2010 (title:
tahun baru bersama solaris - new year
with solaris OS)
● As a sharing event with various topics:
linux, networking, wireless, database,
programming, etc
● Regular schedule
● Irregular schedule: as needed
● Checking schedule:
http://www.glcnetworks.com/schedule
● You are invited to be a presenter
○ No need to be an expert
○ This is a forum for sharing: knowledge,
experiences, information
7
www.glcnetworks.com
Please introduce yourself
● Your name
● Your company/university?
● Your networking experience?
● Your mikrotik experience?
● Your expectation from this course?
8
www.glcnetworks.com
Prerequisite
● This presentation is not for beginner
● We assume you already understand:
○ Web programming (HTML, CSS, javascript)
○ Dynamic website (AJAX)
○ PHP (form handling)
○
9
www.glcnetworks.com
Review prerequisite knowledge
10
www.glcnetworks.com
What is web application?
11
www.glcnetworks.com
Remember 7 OSI layer
12
www.glcnetworks.com
What is HTTP?
13
www.glcnetworks.com
Web app protocol + components
14
www.glcnetworks.com
Web application flow
15
www.glcnetworks.com
16
www.glcnetworks.com
Components are from different website
17
www.glcnetworks.com
HTTP method (request vs response)
Method used between web client and web server
● GET → to get information
● POST → to send data
● PUT → update/replace data
● PATCH → update/modify data
● DELETE → delete data
18
www.glcnetworks.com
HTTP status code
1. Informational responses (100–199)
2. Successful responses (200–299)
3. Redirects (300–399)
4. Client errors (400–499)
5. Server errors (500–599)
19
Source: jayakrishnasfdc.wordpress.com
www.glcnetworks.com
Static vs dynamic website
20
www.glcnetworks.com
What is web server / application server?
(static vs dynamic content)
21
www.glcnetworks.com
API
22
www.glcnetworks.com
Application programming interface (API)
● Standardized interface for communication between 2 parties
● Example:
○ 7 OSI layer
○ Radius (AAA)
○ Telecommunication
○ CORBA
○ Representational state transfer (REST) API
■ Famous for web application
■ Via HTTP method
23
www.glcnetworks.com
Frontend vs Backend
Frontend:
● Handling user interface
● Forward request to backend (via API)
Backend (the API provider):
● Connect to database
● Receive request
● Reply with data (usually with json format)
Example:
● Ajax request
● Application API
24
www.glcnetworks.com
Example backend processing
Common steps
● Check if incoming request exist
● Check the HTTP method, is it
GET / POST / DELETE or
others?
● Do input sanitation
● Processing the incoming request
● Generate output
25
www.glcnetworks.com
API security
● Input sanitation
● IP address whitelist
● Tokenise
26
www.glcnetworks.com
LIVE practice
27
www.glcnetworks.com
preparation
● SSH client
● SSH parameters
○ SSH address
○ SSH port
○ SSH username
○ SSH password
28
www.glcnetworks.com
Q & A
29
www.glcnetworks.com
Interested? Just come to our training...
● Topics are arranged in systematic and logical way
● You will learn from experienced teacher
● Not only learn the materials, but also sharing experiences, best-practices, and
networking
30
www.glcnetworks.com
End of slides
● Thank you for your attention
● Please submit your feedback: http://bit.ly/glcfeedback
● Like our facebook page: https://www.facebook.com/glcnetworks
● Slide: https://www.slideshare.net/glcnetworks/
● Recording (youtube): https://www.youtube.com/c/GLCNetworks
● Stay tune with our schedule
● Any questions?
31

Building API with PHP