วันพฤหัสบดีที่ 24 กุมภาพันธ์ พ.ศ. 2565

เพิ่มความปลอดภัย เขียนโปรแกรม php

 

PHP การใช้งานฟังก์ชัน mysql_real_escape_string() เพื่อหลีกเลี่ยง SQL Injection

mysql_real_escape_string() 
     เป็นฟังก์ชันสำหรับเลี่ยงการใช้ตัวอักขระพิเศษในคำสั่ง sql เช่น เครื่องหมาย " เครื่องหมาย ' เป็นต้น 
เพื่อให้ได้คำสั่ง sql ที่ปลอดภัยสำหรับการ query หรือปลอดภัยจากการเรียกใช้ฟังก์ชัน mysql_query ยกเว้น
เครื่องหมาย % และ _ ซึ่งมีใช้ในคำสั่ง sql

ตัวอย่างการใช้งานฟังก์ชัน
$username = mysql_real_escape_string($_POST['username']);
$passwd = mysql_real_escape_string($_POST['passwd']);
codingthiland 3 ความปลอดภัย
เขียน php ให้ปลอดภัยมีอะไรบ้าง
แนวทางการเขียน php ให้เร็ว
เขียน Two Factor//Authentocation


ความผาสุก

 https://happy.moph.go.th/happinometer/result
Email::: pass:Axxxx858480///โปรแกรมประเมินความผาสุก

192.168.xxx.9/m30-covid19 ::::U:admin ::::Admin85xxxxxxxxxxxxxxxxxxx
pgans:::::uรหัสหน่วยงาน

วันพฤหัสบดีที่ 10 กุมภาพันธ์ พ.ศ. 2565

อบรม His Gatewayสป

 10-11 กพ 65  เดินทางรถยนต์ คุณอั๋น50 พรรษา /เก่ง โขงเจียม
https://hub.docker.com/
https://docs.docker.com/engine/install/ubuntu/

https://hisgateway.moph.go.th/homepage   Login::::  mhosp.gxx@gmail.com :::

https://ictportal.moph.go.th/home mhosp.gxx@gmail.com Admin858xxx  ;;;Lxuzyouu6Oly5rEQxgUl:::

https://hisgateway.moph.go.th/monitor

git pull:::

docker run -d -p 8080:80 nginxdemos/hello
***ถ้าไม่มีnginx มันจะpull มาให้อัตโนมัติ  ใส่ -d เข้าไปให้ทำงานเบื่องหลัง

docker-compose 
รวมคำสั่งContrainer   ชุดการทำงาน


Tasks (Running / Stopped) ต้องขึ้นสถานะ 1/0 ถึงจะใช้งานได้



**** ถ้ามีการติ๊กแสดงว่ามีการดึงข้อมูลเข้าคิว   
**** เลือกสีน้ำเงิน แสดงว่าส่งทั้งหมดเลย 

****สไลด์การอบรม****
https://drive.google.com/drive/folders/1N0WoP9SS58Ggpq9h6wmWIL_rBG_sAmJo

**** Video การอบรม*****
## อบรมการเชื่อมโยงข้อมูลสุขภาพ HIS Gateway## เขตสุขภาพที่ 10 วันที่ 10 - 11 ก.พ. 2564 ณ ศทส. สป. ** สไลด์เอกสารการอบรม ** https://drive.google.com/drive/folders/1N0WoP9SS58Ggpq9h6wmWIL_rBG_sAmJo ** วิดีโอบันทึกการอบรม ** https://drive.google.com/drive/folders/1pbsTGLJqqw4_mEVTM4ip0vAUaANYKAeV --------------


docker logs
docker hostory 

ตั้งให้Docker Run Auto ตอนเปิด Server ใหม่ sudo systemctl start docker

server-id=1644544574

log_bin=gwhis

binlog_format=row

expire_logs_days=2

binlog-do-db=mbase_data1

#log_slave_updates=on



วันศุกร์ที่ 4 กุมภาพันธ์ พ.ศ. 2565

ทำระบบ Replicate mysql

 วันที่ 4 กุมพาพันธ์ 2565 
ทำระบบ replicate mysql to slave 192.168.200.7 -> 192.168.200.14
ปิดระบบ 01.00  น.

Replication  Mbase
Server Main

192.168.xxx.7   ubuntu server 14.04  mysql mariadb5.5

# For Replicate

server-id=1

log-bin=mysql-bin

log-error=mysql-bin.err

expire_logs_days = 4

binlog_ignore_db=eclaimcs,eclaimdb,mbase_data2,meeting_m30,mysql,phpmyadmin,testing,ubonsys30,ubonsystem

#binlog_format=row

#binlog_do_db=mbase_data1

#binlog_annotate_row_events=on

 – binlog_do_db ใส่เป็น Database Name ที่จะทำการ Replication

************************************************************************************************

Server Slave

192.168.xxx.14 ubuntu server 14.04  mysql mariadb5.5

server-id=1643993668

แก้ uuid ชนกัน  StartIO Not Running

# cat /var/lib/mysql/auto.cnf
[auto]
server-uuid=54460172-c5d3-11e9-b76c-000c298bc5b7



Replicate Config Server mBase

 192.168.xxx.7   Main  ->  192.168.xxx.14
Test:::Database mdevices_a

rsync -avz –progress /var/lib/mysql/database/ 10.0.0.2:/var/lib/mysql/database/


****ตัวอย่าง*****
rsync -avz –progress /var/lib/mysql/mdevices_a/ 10.0.0.2:/var/lib/mysql/mdevices-a/


เพียงเท่านี้ ไฟล์จาก Server ที่เราต้องการก็จะโดนโยนย้ายไปอีก Server นึงในทันที่
https://www.youtube.com/watch?v=OTO062itPf4&t=521s

Replicate Rsync Linux

 

วิธีการใช้ rsync เพื่อสำรองข้อมูล บน Linux
rsync  เป็นโปรโตคอลที่สร้างขึ้นสำหรับระบบยูนิกซ์เหมือนที่ให้ความคล่องตัวที่ไม่น่าเชื่อสำหรับการสำรองข้อมูลและซิงโครไนซ์ข้อมูล สามารถใช้ในการสำรองไฟล์ไปยังไดเร็กทอรีอื่นหรือสามารถกำหนดค่าให้ซิงค์ผ่านอินเทอร์เน็ตไปยังโฮสต์อื่นได้
   rsync สามารถ Backup ข้อมูล Directory หนึ่งไปยังอีก Directory ทำงานได้หลายโหมด และสามารถใช้ร่วมกับ ssh ก็สามารถ Backup ไฟล์ข้าม Server ได้ ซึ่ง rsync มีให้ใช้กับทุก OS นั่นหมายความว่าเรา สามารถ Backup Directory ข้าม Server ข้าม OS ได้

Linux ต้องติดตั้งโปรแกรม rsync

apt-get install rsync

****สำหรับmBase *****

เมื่อทำการติดตั้ง service rsync เป็นที่เรียบร้อยแล้วละก็ มาทำการรันคำสั่งเพื่อย้ายไฟล์หรือโฟลเดอร์ที่ต้องการไปที่
rsync -avz –progress /ที่อยู่ไฟล์/ ip_Server:/ที่อยู่ไฟล์/
ตัวอย่าง
rsync -avz –progress /var/lib/mysql/database/ 10.0.0.2:/var/lib/mysql/database/
Synsไป 200.2->200.70
rsync -av /home/dump/ root@192.168.200.70:/home/dump/

เพียงเท่านี้ ไฟล์จาก Server ที่เราต้องการก็จะโดนโยนย้ายไปอีก Server นึงในทันที่

`ที่มา`::http://trakrulaocomputer.com/%B8%A1-server/ 

- Backup Driectory ในเครื่อง server เดียวกัน  
เช่น ต้องการ backup ข้อมูลใน /var/www/html  มาไว้ที่ /backup/xxx   ใช้คำสั่ง 

rsync -av --delete /var/www/html/ /backup/xxx/

" คำสั่งด้านบนจะทำการ sync ข้อมูลให้ตรงกันเนื้อหาของ /var/www/html/ ไปยัง /backup/xxx/ และถ้ามีการเปลี่ยนแปลง สร้างหรือลบ ใน /var/www/html/ ข้อมูลใน /backup/xxx/ จะเปลี่ยนแปลงเหมือนกันกับข้อมูลต้นฉบับ "

- Backup จาก Server ไปไว้อีก Server

rsync -av --delete -e 'ssh -p 12345' root@192.168.0.1:/Directory2/  /Directory1/ 

"คำสั่งด้านบน จะทำการ sync ข้อมูลจาก server ปลายทาง 192.168.0.1  ใน Folder Directory2 มาไว้ในเครื่อง Directory1 ใน server ต้นทาง"

  ความหมาย Option แต่ละตัว
-a คือ archive ทำให้ ไฟล์ตันฉบับกับไฟล์ปลายทางเหมือนกันทุกอย่าง
-v คือ verbose ให้แสดงรายละเอียดระหว่างทำงานขึ้นมาบนหน้าจอ
--exclude คือไม่รวมไฟล์ สามารถให้ รูปแบบ ได้เช่น ตามตัวอย่างหมายความว่า ไม่เอา ไฟล์ทุกไฟล์ที่ .gz ที่อยู่ใน home/admin/admin_backups/ *
--delete ให้ลบไฟล์ปลายทางถ้าไฟล์ต้นทางถูกลบไป
-p เป็นการกำหนด port ssh กรณีที่ server เปลี่ยน port 

การกำหนดให้ rsync backups อัตโนมัติ โดยใช้ crontab

#crontab -e
0 22 * * * rsync -av --delete -e 'ssh -p 12345'  root@192.168.0.1:/Directory2/  /Directory1/ 

"คำสั่งด้านบน จะเป็นการตั้งเวลาในการ Backup ข้อมูล ทุกวันเวลา 4 ทุ่ม หรือ 22.00 น. จะทำการ sync ข้อมูลจาก server ปลายทาง 192.168.0.1  ใน Folder Directory2 มาไว้ในเครื่อง Directory1 ใน server ต้นทาง"
** การ Sync โดย rsync กรณีที่ Network ขาดหรือหลุด จะหยุดทำงานทันที แล้วจะเริ่ม sync ใหม่ตามเวลาที่ตั้งไว้ **