ຄອມພິວເຕີຊອຟແວ

PHP ຕົວແປທົ່ວໂລກໃນການທໍາງານໄດ້. ເຮັດໃຫ້ຕົວແປທົ່ວໂລກໃນ PHP

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

ຂອບເຂດ

ສະນັ້ນໃຫ້ໂທສະພາບການທີ່ການປ່ຽນແປງແລະກໍານົດ. ໃນກໍລະນີຫຼາຍທີ່ສຸດ, ພວກເຂົາເຈົ້າມີພຽງແຕ່ຫນຶ່ງຂອບເຂດ. ໃນເວລາທີ່ PHP ຕົວແປສ່ວນກາງໂຫລດຈາກໄຟລ໌ອື່ນໆ, ຫຼັງຈາກນັ້ນມັນອາດຈະເປັນແບບຮອບດ້ານ (ປະກອບດ້ວຍ) ແລະທີ່ກໍານົດໄວ້ (ຮຽກຮ້ອງໃຫ້ມີ).

ຕັ້ງແຕ່ຕອນຕົ້ນ, ພວກເຂົາເຈົ້າໄດ້ຖືກຈໍາກັດຂອບເຂດຫນ້າທີ່ທ້ອງຖິ່ນ. ແລະວິທີການເຮັດໃຫ້ຕົວປ່ຽນແປງໄຟລ໌ເຫັນໃນເຂດແດນຂອງຕົນ, ຊຶ່ງໃນນັ້ນຫຼາຍແລະສາມາດນໍາໃຊ້? ດ້ວຍເຫດດັ່ງກ່າວນີ້, ແລະສະຫນອງໃຫ້ໃນຕົວແປສ່ວນກາງ PHP.

ໃຜວ່າ "ທົ່ວໂລກ"

ແລະນີ້ແມ່ນວິທີການປະກາດຕົວແປທົ່ວໂລກເພື່ອ php? ໃນການບັນລຸເປົ້າຫມາຍນີ້ຈະຊ່ວຍໃຫ້ພວກເຮົາຄໍາວ່າ "ທົ່ວໂລກ". ມັນເປັນສິ່ງຈໍາເປັນເພື່ອຈັດວາງຢູ່ທາງຫນ້າຂອງຕົວປ່ຽນແປງທີ່ທ່ານຕ້ອງການທີ່ຈະເຮັດໃຫ້ເປັນໂລກ (narimer, ໃນທົ່ວໂລກ« The Variable ").

ຫຼັງຈາກການດໍາເນີນການດັ່ງກ່າວສະແດງເຖິງມູນທີ່ໄດ້, ຂໍ້ມູນທີ່ຈະສາມາດເຮັດວຽກຮ່ວມກັບເອກະສານໃດໆ. ຖ້າຫາກວ່າ somewhere ມີເອກະສານໃຫ້ກັບຕົວແປດັ່ງກ່າວນີ້, ໂຄງການໄດ້ສະເຫມີຈະເອົາໃຈໃສ່ກ່ຽວກັບການສະບັບພາສາໃນທົ່ວໂລກ.

ເປັນຫຍັງດັ່ງກ່າວເປັນພາສາ strange? ຄວາມຈິງທີ່ວ່າໃນເວລາດຽວກັນອາດຈະມີສະບັບໃນທ້ອງຖິ່ນ. ແຕ່ພວກເຂົາເຈົ້າຈະສາມາດໃຊ້ໄດ້ສະເພາະແຕ່ສໍາລັບໄຟລ໌ທີ່ບ່ອນທີ່ປະກາດ. ແລະສໍາລັບການທັງຫມົດສ່ວນທີ່ເຫຼືອຈະປະຕິບັດຕົວແປສ່ວນກາງຫ້ອງຮຽນ PHP. ເພາະສະນັ້ນທ່ານຈະຕ້ອງລະມັດລະວັງ. ແລະວ່າມີຄວາມສົງໃສບໍ່ມີ, ນີ້ແມ່ນຕົວຢ່າງຂອງສິ່ງທີ່ເຂົາເຈົ້າເບິ່ງຄື: ທົ່ວໂລກ.

ເນື່ອງຈາກວ່າຖ້າຫາກວ່າຫນຶ່ງເອກະສານຈະມີການເຂົ້າເຖິງຈໍານວນຂອງຕົວປ່ຽນແປງ, ມັນຈະເຮັດໃຫ້ເຂົາເຈົ້າມີຂໍ້ຂັດແຍ່ງ. ແຕ່ພວກເຮົາບໍ່ສາມາດເວົ້າວ່າສໍາລັບໃຫ້ແນ່ໃຈວ່າ - ທ້ອງຖິ່ນໃນທົ່ວໂລກຫຼືຕົວແປອ່ານແລະພ້ອມກັນລົ້ມເຫລວ. ດັ່ງນັ້ນ, ຖ້າຫາກວ່າມັນແມ່ນເພື່ອລົງທະບຽນໃນການທໍາງານ, ມັນຄວນຈະເປັນບັນຫາທີ່ບໍ່ມີ. ແຕ່ການນໍາໃຊ້ຂອງຕົວປ່ຽນແປງສໍາລັບການຊາຍແດນຂອງຕົນທີ່ຈະເປັນບັນຫາ. ດັ່ງນັ້ນ, ໂຄງປະກອບການຂອງຮ່າງຂໍ້ກໍານົດທີ່ຈໍາເປັນເພື່ອຕິດຕາມກວດກາຢ່າງໃກ້ຊິດແລະເຮັດໃຫ້ແນ່ໃຈວ່າວ່າ nowhere ແມ່ນມີແມ້ກະທັ້ງເປັນ prerequisite ກັບຂໍ້ຂັດແຍ່ງກ່າວເກີດຂຶ້ນ.

embodiment ຂອງການບັນທຶກຂອງຄົນອື່ນ

ມັນເປັນໄປໄດ້ໃນ PHP ເພື່ອສ້າງຕົວແປທົ່ວໂລກໃນວິທີການອື່ນ? ແມ່ນແລ້ວ, ບໍ່ແມ້ກະທັ້ງຫນຶ່ງ. ຫນ້າທໍາອິດ, ໃຫ້ພິຈາລະນາ $ ໂລກາພິວັດ. ນີ້ເປັນ array ເຊື່ອມໂຍງ. ທີ່ສໍາຄັນໃນການມັນ - ແມ່ນຊື່. ເປັນມູນຄ່າຂອງເນື້ອໃນການດໍາເນີນການເປັນການປ່ຽນແປງໃນທົ່ວໂລກ. ຄວນຈະໄດ້ຮັບຍົກໃຫ້ເຫັນວ່າທິວຫຼັງຈາກການປະກາດດັ່ງກ່າວຢູ່ໃນຂອບເຂດໃດຫນຶ່ງ. ນີ້ເຮັດໃຫ້ເຫດຜົນທີ່ເຊື່ອວ່າມັນ superglobal. ມັນເບິ່ງຄືວ່າ: $ ໂລກາພິວັດ [ 'ຕົວປ່ຽນແປງ'].

ກໍາຫນົດໄວ້ລ່ວງ / superglobals

ໃນພາສາການຂຽນໂປຣແກຣມທຸກມີຊື່ບາງທີ່ chartered ສໍາລັບບາງຄົນປະຕິບັດຫນ້າຂອງຕົນ. ເພາະສະນັ້ນ, ການສ້າງໃນຕົວແປ PHP ທົ່ວໂລກຂອງຊື່ດຽວກັນຈະບໍ່ເຮັດວຽກ.

ພາສາການຂຽນໂປຣແກຣມນີ້ມີລັກສະນະເປັນຂອງຕົນເອງ. ດັ່ງນັ້ນ, ມັນເປັນສິ່ງສໍາຄັນວ່າຕົວແປ predefined ນີ້ຍັງບໍ່ໄດ້ຕິດຕັ້ງ "Super", ວ່າແມ່ນ, ພວກເຂົາເຈົ້າແມ່ນບໍ່ສາມາດໃຊ້ໃນສະຖານທີ່ທັງຫມົດ. ແນວໃດຂ້າພະເຈົ້າສາມາດແກ້ໄຂມັນ? ການປ່ຽນແປງກໍາຫນົດໄວ້ລ່ວງແມ່ນສາມາດໃຊ້ໄດ້ຢູ່ບໍລິເວນທ້ອງຖິ່ນຈໍານວນຫນຶ່ງ, ມັນຕ້ອງໄດ້ຮັບການປະກາດດັ່ງຕໍ່ໄປນີ້ :. Global « Variable " ມັນເບິ່ງຄືວ່າຈະເປັນເຊັ່ນດຽວກັນກັບບອກກ່ອນ, ສິດ? ມັນເປັນຄວາມຈິງ, ແຕ່ບໍ່ແມ່ນຂ້ອນຂ້າງ. ຂໍໃຫ້ເຮົາເບິ່ງແລ້ວ "ສູ້ກັບ" ຕົວຢ່າງ:

  • $ ທົ່ວໂລກ HTTP_POST_VARS;
  • echo $ HTTP_POST_VARS [ 'name'].

ທ່ານມີຄວາມຮູ້ສຶກຄວາມແຕກຕ່າງລະຫວ່າງເຂົາເຈົ້າແນວໃດ? ໃຫ້ສັງເກດວ່າໃນຕົວແປສ່ວນກາງ PHP ບໍ່ຈໍາເປັນຕ້ອງໄດ້ຮັບການນໍາໃຊ້ພາຍໃນການເຄື່ອນໄຫວ. ມັນສາມາດເຖິງແມ່ນວ່າຖືກເກັບໄວ້ໃນໄຟລ໌ທີ່ໄດ້ຖືກລວມເຂົ້າໃນມັນ.

ລິ້ງຄ໌ແລະຄວາມປອດໄພ

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

ສະບັບພາສາ 420 ຄໍາສັ່ງໂດຍ register_globals ໄວ້ໃນຕອນຕົ້ນມີການປ່ຽນແປງຈາກເບື້ອງບົນ, ລັດຈະອອກ. ສໍາລັບຜູ້ໃຊ້ສ່ວນໃຫຍ່, ນີ້ບໍ່ແມ່ນສິ່ງສໍາຄັນທີ່ສຸດ, ແຕ່ວ່າໃນ vain. ຫຼັງຈາກທັງຫມົດ, ມັນໄດ້ໂດຍກົງຜົນກະທົບຕໍ່ຄວາມປອດໄພຂອງຜະລິດຕະພັນພັດທະນາໄດ້. ຖ້າຫາກວ່າທ່ານຕ້ອງການເພື່ອເຮັດໃຫ້ການປ່ຽນແປງໃນທົ່ວໂລກ, PHP, ຄໍາສັ່ງກ່ຽວກັບຕົວກໍານົດການນີ້ບໍ່ໄດ້ຮັບຜົນກະທົບໂດຍກົງ. ຢ່າງໃດກໍຕາມ, ການນໍາໃຊ້ທີ່ບໍ່ຖືກຕ້ອງແລ້ວສາມາດສ້າງຄວາມປອດໄພສໍາຄັນກວ່າ.

ດັ່ງນັ້ນຖ້າຫາກວ່າ register_globals ແມ່ນໄດ້ຫັນສຸດ, ກ່ອນທີ່ຈະດໍາເນີນການຂອງລະຫັດລາຍລັກອັກສອນໄດ້ເລີ່ມຕົ້ນປ່ຽນແປງທີ່ແຕກຕ່າງກັນທີ່ມີຄວາມຈໍາເປັນສໍາລັບການຍົກຕົວຢ່າງການສົ່ງ HTML, ຮູບແບບ. ດັ່ງນັ້ນ, ມັນໄດ້ຕັດສິນໃຈເພື່ອເຮັດໃຫ້ມັນອອກ.

ເປັນສະຖານະຂອງຄໍາສັ່ງນີ້ໃນຕົວແປທົ່ວໂລກ php ເປັນຫຍັງເປັນຫນີ້ຫລາຍ? ຄວາມຈິງແລ້ວແມ່ນວ່າໃນເວລາທີ່ສະຖານະຂອງພັດທະນາໄດ້ບໍ່ສະເຫມີໄປດ້ວຍຄວາມແນ່ນອນດ້ວຍຕົນເອງສາມາດຕອບຄໍາຖາມຂອງບ່ອນທີ່ມັນມາຈາກ. ຢູ່ໃນມືຫນຶ່ງ, ມັນເປັນງ່າຍຕໍ່ການຂຽນ code. ແຕ່ກ່ຽວກັບການອື່ນໆ - ມັນເປັນຄວາມສ່ຽງຄວາມປອດໄພ. ດັ່ງນັ້ນ, ເພື່ອຫຼີກເວັ້ນການຜິດພາດ, ເຊັ່ນດຽວກັນກັບຂໍ້ມູນປະປົນແລະຄໍາສັ່ງໄດ້ຮັບການພິການ.

ໃນປັດຈຸບັນໃຫ້ຂອງເບິ່ງບໍ່ / ລະຫັດຄວາມປອດໄພ, ເຊັ່ນດຽວກັນກັບວິທີການກວດສອບກໍລະນີທີ່ປະກາດຂອງຕົວປ່ຽນແປງ PHP ທົ່ວໂລກແມ່ນປະກອບດ້ວຍຄວາມພະຍາຍາມຢູ່ tampering ມີຂໍ້ມູນ. ນີ້ແມ່ນມີຄວາມຈໍາເປັນໃນຄໍາສັ່ງທີ່ຈະສ້າງບໍ່ພຽງແຕ່ງາມ, ແຕ່ຍັງຢ່າງຕໍ່ເນື່ອງສະຖານທີ່ທີ່ບໍ່ crack ບຸກຄົນສາມາດໃຊ້ໄດ້ຄັ້ງທໍາອິດທີ່ເຮັດວຽກ.

ລະຫັດເປັນອັນຕະລາຍ

ໃຫ້ຕັ້ງຄ່າຕົວແປທີ່ເປັນທີ່ແທ້ຈິງສໍາລັບຜູ້ທີ່ໄດ້ຮັບການອະນຸຍາດ:

ຖ້າຫາກວ່າ (authenticate_user ()) {
$ ອະນຸຍາດ = true
}

if ($ authors) {
ປະກອບດ້ວຍ "/highly/sensitive/data.php";
}

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

ຖ້າຫາກວ່າພວກເຮົາມີການປ່ຽນແປງມູນຄ່າຂອງຄໍາສັ່ງດັ່ງກ່າວ, ລະຫັດນີ້ຈະເຮັດວຽກຢ່າງຖືກຕ້ອງ, ດັ່ງທີ່ພວກເຮົາກໍານົດໄວ້. ແຕ່ການເລີ່ມຕົ້ນຂອງການປ່ຽນແປງແມ່ນບໍ່ພຽງແຕ່ນ້ໍາສຽງທີ່ດີໃນການດໍາເນີນໂຄງການ, ແຕ່ຍັງເຮັດໃຫ້ພວກເຮົາຮັບປະກັນທີ່ແນ່ນອນຂອງຄວາມຫມັ້ນຄົງຂອງ script ໄດ້.

ສະບັບພາສາທີ່ເຊື່ອຖືໄດ້ຂອງຂໍ້ກໍານົດ

ທ່ານສາມາດປິດການໃຊ້ງານຫຼືການເຮັດວຽກທາງຫລືກໍາຫນົດລະຫັດສະລັບສັບຊ້ອນຫຼາຍເພື່ອບັນລຸເປົ້າຫມາຍນີ້. ສໍາລັບຕົວຢ່າງເຊັ່ນ: ນີ້:

ຖ້າຫາກວ່າ (isset ($ _SESSION [ 'ຊື່ຜູ້ໃຊ້'])) {

echo "ສະບາຍດີ {$ _SESSION [ 'ຊື່ຜູ້ໃຊ້']} ";

} ອື່ນ {

echo "ສະບາຍດີ ບຸກຄົນທົ່ວໄປ
";
echo "ຜູ້ໃຊ້ຍິນດີຕ້ອນຮັບ!";

}

ເຮັດໃຫ້ການທົດແທນໃນກໍລະນີນີ້, ຈະມີຄວາມຫຍຸ້ງຍາກ. ແຕ່ຍັງ -. ເປັນໄປໄດ້ ເພື່ອເຮັດສິ່ງນີ້, ທ່ານຈະຕ້ອງໃຊ້ເວລາດູແລທີ່ເຄື່ອງມືການຕອບສະຫນອງຢ່າງວ່ອງໄວໄດ້ຮັບການສະຫນອງໃຫ້. ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະປະກອບມີການປ່ຽນແປງໃນທົ່ວໂລກໃນ PHP, ທ່ານສາມາດນໍາໃຊ້ເຄື່ອງມືດັ່ງຕໍ່ໄປນີ້: ຖ້າຫາກວ່າພວກເຮົາຮູ້ວ່າສິ່ງທີ່ລະດັບແມ່ນມູນຄ່າທີ່ໄດ້ຮັບ, ມັນເປັນໄປໄດ້ທີ່ຈະລົງທະບຽນ script ການກວດສອບນີ້ມີການແຂ່ງຂັນ. ແນ່ນອນວ່າ, ມັນຍັງບໍ່ໄດ້ຮັບປະກັນການປ້ອງກັນຢ່າງເຕັມທີ່ກັບຄ່າທົດແທນ. ແຕ່ວ່າເປັນທາງເລືອກໃນການຫຼາຍເກີນໄປຢ່າງຫຼວງຫຼາຍ complicate.

ເຫັນວ່າຄວາມພະຍາຍາມທີ່ຈະ masquerade

ໃຫ້ຂອງເບິ່ງວ່າທ່ານບໍ່ເຂົ້າໃຈລາຍລັກອັກສອນກ່ອນ. ໃນ PHP ຕົວແປສ່ວນກາງໃນການທໍາງານທີ່ຈະໄດ້ຮັບການໃຫ້ຕ່ໍາກວ່າ, ທ່ານຈະຈໍາເປັນຕ້ອງໄດ້ປະກາດຕົນເອງ. ພວກເຮົາສາມາດເວົ້າວ່ານີ້ແມ່ນປະເພດຂອງບ້ານກ່ຽວກັບການນໍາເຂົ້າທຽບຂອງກະທູ້ບົດຮຽນໄດ້. ຕໍ່ໄປນີ້ແມ່ນລະຫັດທີ່:

ຖ້າຫາກວ່າ (isset ($ _ COOKIE [ 'C_COOKIE'])) {
} elseif (isset ($ _ ຮັບ [ 'C_COOKIE']) || isset ($ _POST [ 'C_COOKIE'])) {

mail ( "administrarot@example.com", "ເອົາໃຈໃສ່, script ດັ່ງກ່າວໄດ້ບັນທຶກຄວາມພະຍາຍາມຢູ່ burglary ແລະການປອມແປງທີ່ມີຂໍ້ມູນ", $ _SERVER [ 'REMOTE_ADDR']);
echo "ມີຄວາມປອດໄພຫັກແມ່ນຄວາມພະຍາຍາມທີ່ຈະເຮັດແນວນັ້ນແຈ້ງ Administrator ໄດ້.";
ການທ່ອງທ່ຽວ;

} ອື່ນ {
}
?>

ໃນປັດຈຸບັນຄໍາອະທິບາຍ thereto. ສ່ວນຫນຶ່ງແມ່ນ C_COOKIE ມາເຖິງພວກເຮົາຈາກແຫຼ່ງທີ່ເຊື່ອຖືໄດ້. ເພື່ອຄວາມເພິ່ງພໍໃຈຢ່າງເຕັມສ່ວນຕາມຜົນທີ່ຄາດວ່າຈະ, ພວກເຮົາກວດສອບມູນຄ່າຂອງຕົນແລະແຈ້ງໃຫ້ເບິ່ງແຍງລະບົບໃນກໍລະນີຂອງບັນຫາ. ຖ້າຫາກວ່າມັນບໍ່ໄດ້ມາ, ຫຼັງຈາກນັ້ນການປະຕິບັດທີ່ບໍ່ມີແລະບໍ່ໄດ້ຈໍາເປັນຕ້ອງໄດ້ເຮັດໃຫ້. ທ່ານຕ້ອງເຂົ້າໃຈວ່າພຽງແຕ່ປິດການສັ່ງ register_globals ບໍ່ໄດ້ເຮັດໃຫ້ລະຫັດຂອງທ່ານແມ່ນປອດໄພ. ເພາະສະນັ້ນ, ຕົວປ່ຽນແປງທີ່ໄດ້ຮັບ script ຈາກຜູ້ໃຊ້, ຄວນໄດ້ຮັບການກວດກາສໍາລັບມູນຄ່າຄາດຄະເນໄວ້.

ສະຫຼຸບ

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 lo.delachieve.com. Theme powered by WordPress.