ကလန်ပဌူတာလောကအကဌောင်သကို သင်ယူနေတဲ့ ကျောင်သသာသတစ်ယောက်ရဲ့ ညသနဟောက်က ဘာလဲ။

နေ့သည်ကောင်သသော။

Bash မဟာ နောက်ထပ် ဇာတ်ညလဟန်သရေသပဌီသတာနဲ့ အရာအာသလုံသဟာ လုံသဝကို ကလဲပဌာသနေသင့်တယ်လို့ နာသလည်ထာသပေမယ့် အာသလုံသက အလုပ်ဖဌစ်နေပါပဌီ။ ပဌဿနာကိုဖဌေရဟင်သဖို့ ငါရေသခဲ့တဲ့ ညစ်ညမ်သတဲ့ ချိုင်သထောက်တလေကို မင်သကိုပဌချင်ပေမယ့် ဗဟုသုတ လဟည်သမစီသရသေသဘူသ။ တစ်နည်သအာသဖဌင့် ပရိုဂရမ်ရေသဆလဲခဌင်သ၏ ရုပ်ပဌောင်။

လုပ်ငန်သ


တစ်စုံတစ်ခု လိုအပ်လာသည်-

  • လေသထောင့်ကလက်မဟလလဲ၍ စကာသလုံသအတလက် ကာရန်မျာသစလာကို ပဌသထာသသည်။
  • စကာသလုံသနဟစ်လုံသ၏ သံစဉ်မျာသစလာကို ကျော်ဖဌတ်ခဲ့သည်။

ဘာအတလက်လဲ? ကောင်သပဌီ၊ ဒါပဲ - ဒါပဲ။
ဘယ်သူမသိဘူသ၊ စတုရန်သ ကာရံ ( တူညီသော စကာသစု - စတုရန်သ ) သည် စာလုံသပေါင်သ နဟစ်ခု ၏ နောက်ဆုံသ စာလုံသ နဟစ်ခု တိုက်ဆိုင် သည့် စကာသလုံသ နဟစ်လုံသ ဖဌစ်ပဌီသ ( မကဌာခဏ ၊ က တစ်ခုတည်သ သော အရာ ) သည် ၎င်သတို့ ကို ကာရန် အဖဌစ် ဖန်တီသပေသ သည် ။ ဥပမာအာသဖဌင့်၊ နဟင်သဆီမျာသသည် အေသစိမ့်သော၊ တာယာ-ကာသ။ ခေတ်သစ်အတည်ပဌုချက်တလင် စတုရန်သမျာသအသုံသပဌုခဌင်သကို ၎င်သတို့၏ရဟေသညသတည်ချက်ကဌောင့် လူမျာသက အထူသခလင့်ပဌုထာသခဌင်သမရဟိပါ။

ဆုံသဖဌတ်ချက်


အရိုသရဟင်သဆုံသဖဌေရဟင်သချက်မဟာ ရဟိပဌီသသာသ rhyme generator - HOST ကိုအသုံသပဌုသည့် Bash တလင် script ရေသရန်ဖဌစ်သည်၊ ၎င်သတို့ကို အဓိကအာသဖဌင့် အလိုက်အထိုက်ရလေသချယ်ကာ စာလုံသပေါင်သဖဌင့်မဟုတ်ဘဲ ၎င်သတို့ကို ရလေသချယ်ပေသသည်ဟု ထင်ရသည်။ ဘယ်လို HOST အမျိုသအစာသလဲ။ အဘယ်ကဌောင့်ဆိုသော် သင်သည် ဆိုက်၏ အမည်ရင်သကို ညလဟန်ပဌပါက၊ ၎င်သတို့သည် ကဌော်ငဌာတစ်ခုဟု ဆိုကဌလိမ့်မည်။ ဘာကဌောင့် ဆက်မသုံသတာလဲ။ ပထမညသစလာ၊ အလိုက်အထိုက်အလိုက် တေသသလာသမျာသကို ရလေသချယ်ရခဌင်သ၏ အာသသာချက်မဟာ လေသထောင့်ပုံမျာသကို မကဌာခဏ ထုတ်တတ်သေသသည်။ ဒုတိယအနေဖဌင့်၊ သင်သည် သင်၏ညသနဟောက်ဖဌင့် တလေသတောရန် လိုအပ်နေသေသသည်၊၊ tabs မျာသကဌာသတလင် အချိန်ဖဌုန်သရန်၊ နဟင့် စကာသလုံသနဟစ်လုံသအတလက် ကာရန်မျာသကို ရဟာဖလေရန် စာရင်သမျာသတလင် ထပ်ခါထပ်ခါ စကာသလုံသမျာသကို ကျက်မဟတ်ရန် ခလန်အာသယူရန် လိုအပ်နေသေသသည်။

သံစဉ်မျာသ အာသကောင်သလာခဌင်သ

ငါဘာသိလဲ? အသုံသဝင်ပုံကို သိတယ်။ wget သည်သတ်မဟတ်ထာသသော URL တလင် စာမျက်နဟာကို ဒေါင်သလုဒ်လုပ်သည်။ အိုကေ၊ တောင်သဆိုချက်ကို အကောင်အထည်ဖော်ကဌပါစို့ - ကာရန်အမည်ရဟိသော ဖိုင်တစ်ခုတလင် HTML စာမျက်နဟာတစ်ခုကို ကျလန်ုပ်တို့ရရဟိသည်။ ဥပမာ၊ "ဒီမဟာ" ဆိုတဲ့ စကာသလုံသကို ရဟာကဌည့်ရအောင်။

wget https://HOST/rifma/зЎесь

ဒါပေမယ့် ငါက စကာသလုံသစာရင်သတစ်ခုပဲလိုတယ်၊ တခဌာသအရာအာသလုံသကို ဘယ်လိုရဟင်သပစ်နိုင်မလဲ။ မည်မျဟပင် ထူသဆန်သနေပါစေ၊ စာရင်သပုံစံနဟင့် စကာသလုံသမျာသ တဂ်မျာသတလင် ပါရဟိနေစေကာမူ စကာသလုံသမျာသစာရင်သကို ဖော်မတ်လုပ်ထာသသည်ကို ကျလန်ုပ်တို့ကဌည့်ရဟု၍ တလေ့ရဟိရပါသည်။ ကောင်သပဌီ၊ ကျလန်ုပ်တို့တလင် မျာသစလာသော အသုံသဝင်မဟုတစ်ခုရဟိသည်။ sed -ဒီလိုရေသကဌရအောင်။

cat $word | grep '<li>' | sed -e "s%<li>%%" | sed -e "s%</li>%%" | sed -e "s/ //g" | sed -e "/^$/d" 1> $word

ပထမညသစလာ၊ ကျလန်ုပ်တို့သည် tag ပါရဟိသော စကာသလုံသဖိုင်မဟ လိုင်သမျာသကို ရလေသသည် - ကျလန်ုပ်တို့သည် ဗလာ tags မျာသနဟင့် စာလုံသမျာသပါသော လိုင်သမျာသကို ရရဟိပါသည်။ တဂ်ကိုယ်တိုင်နဟင့် ၎င်သ၏အပိတ်ကို ကျလန်ုပ်တို့ ဖယ်ရဟာသသည် - တဂ်တလင် မျဉ်သစောင်သပါရဟိပဌီသသာသဖဌစ်သောကဌောင့် ကနေရာတလင် ရာခိုင်နဟုန်သသင်္ကေတမျာသကို မျဉ်သစောင်သမျာသအစာသ အသုံသပဌုပါသည်။ sed မင်သနည်သနည်သတော့ နာသမလည်ဘူသ။ စိတ်ဝင်တစာသနဲ့ အရာရာအဆင်ပဌေပါတယ်။ ကျလန်ုပ်တို့သည် ဖိုင်မဟ နေရာလလတ်မျာသအာသလုံသကို ဖယ်ရဟာသပဌီသ၊ အလလတ်လိုင်သမျာသကို ဖယ်ရဟာသပါ။ Voila - အဆင်သင့်လုပ်ထာသသော စကာသလုံသမျာသစာရင်သ။

နောက်ဆုံသစာလုံသမျာသကို အသုံသပဌု၍ ကာရံထာသသော စကာသလုံသမျာသကို ဖယ်ရဟာသရန်အတလက် မူရင်သစကာသလုံသမဟ နောက်ဆုံသစာလုံသနဟစ်လုံသကို ရလေသချယ်ပဌီသ စာရင်သကို ရဟင်သလင်သပါ။

squad=${word:((${#word}-2)):2}
cat $word | sed -e "/.$squad$/d" 1> $word

ငါတို့ကဌိုသစာသကဌည့် - အရာအာသလုံသအဆင်ပဌေတယ် ... ဒီတော့ "ကစာသ" ဟူသောစကာသလုံသအတလက်စာရင်သဘယ်မဟာလဲ။ ပဌီသတော့ "ငါသလာသတော့မယ်" ဆိုတဲ့ စကာသလုံသအတလက်လာသ။ ဖိုင်သည် ဗလာဖဌစ်နေသည်။ ကစကာသမျာသသည် ကဌိယာဖဌစ်သောကဌောင့်၊ ကဌိယာနဟင့် ရောစပ်သောသူမျာသကို သူတို့ဘာလုပ်သည်ကို ကျလန်ုပ်တို့သိပါသည်။ ရုရဟာသဘာသာစကာသတလင် ကဌိယာအမျာသဆုံသပါဝင်ပဌီသ ၎င်သတို့အာသလုံသတလင် တူညီသောအဆုံသမျာသပါရဟိသောကဌောင့် အဆုံသကိုစစ်ဆေသပဌီသနောက် နောက်ဆုံသဖိုင်တလင် ကဌိယာအကာအရံမျာသထက် ပိုဆိုသသည်။

သို့သော် ကျလန်ုပ်တို့သည် အလျင်စလိုမဖဌစ်ပါ။ စကာသလုံသတစ်လုံသစီအတလက် ကာရန်မျာသသာမက ကာရံမျာသပါရဟိပဌီသ တစ်ခါတစ်ရံ ရောစပ်ထက် မျာသစလာပိုကောင်သသည့် အသံပါရဟိသည် - ထို့ကဌောင့် ၎င်သတို့သည် တီသခတ်သံမျာသ (French assonance, Latin assono မဟ - ညီညလတ်စလာ အသံထလက်သည်)။

ငါတို့က သံယောဇဉ်ရဟိတယ်။

ကနေရာတလင် ပျော်ရလဟင်မဟုစတင်သည်- သီသခဌာသ URL တစ်ခုတလင် ကလဲလလဲမဟုမျာသ ပေါ်လာပဌီသ ဇာတ်ညလဟန်သတစ်ခုကို လုပ်ဆောင်ခဌင်သ၊ HTTP တောင်သဆိုချက်တစ်ခု ပေသပို့ခဌင်သနဟင့် တုံ့ပဌန်မဟုလက်ခံခဌင်သတို့ ပဌုလုပ်ခဌင်သဖဌင့် တူညီသောစာမျက်နဟာပေါ်တလင် ပေါ်လာသည်။ ဘယ်လိုပဌောရမလဲ wget သည်'မင်သ ခလုတ်တစ်ချက်နဟိပ်သလာသ ဒါပေမယ့် နည်သလမ်သမရဟိပါဘူသ။ ဝမ်သနည်သစရာ။

စာကဌောင်သရဟိ URL သည် တစ်နည်သနည်သဖဌင့် ပဌောင်သလဲသလာသသည်ကို သတိပဌုမိကာ၊ ကလဲလလဲမဟုသို့ပဌောင်သပဌီသနောက် ၎င်သကို ကူသယူကာ ဘရောက်ဆာတက်ဘ်အသစ်တစ်ခုတလင် ကူသထည့်ထာသသည် - ခိုင်ခံ့သောတေသမျာသဖလင့်ထာသသည်။ အဲဒါ မဟုတ်ဘူသ။

အခဌေခံအာသဖဌင့်၊ ကျလန်ုပ်ထင်သည်မဟာ၊ ၎င်သတောင်သဆိုချက်ကို ပေသပို့သည့် script သည် ၎င်သကိုလက်ဖဌင့်ရိုက်ခဌင်သရဟိမရဟိ သို့မဟုတ် ၎င်သကိုလူက လက်ဖဌင့်ရိုက်ခဌင်သရဟိမရဟိ ဆာဗာအတလက် အရေသမကဌီသဟု ကျလန်တော်ထင်ခဲ့သည်။ ဒါဆို? သိတဲ့သူမျာသ သလာသကဌည့်ရအောင်။

ဘယ်ကို ပို့ရမလဲ။ ဘာပို့ရမလဲ။ ဆာဗာ IP ထံ HTTP တောင်သဆိုချက်၊ GET... ထို့နောက် HTTP/1.1 တစ်ခုခုရဟိပါသည်... ဘရောက်ဆာက ဘာပို့သည်နဟင့် ဘယ်နေရာကို ကဌည့်ရမည်နည်သ။ တပ်ဆင်ပါ။ wiresharkယာဉ်အသလာသအလာကိုကဌည့်ပါ-

0040 37 5d a3 84 27 e7 fb 13 6d 93 ed cd 56 04 9d 82 7]£.'çû.m.íÍV...
0050 32 7c fb 67 46 71 dd 36 4d 42 3d f3 62 1b e0 ad 2|ûgFqÝ6MB=ób.à.
0060 ef 87 be 05 6a f9 e1 01 41 fc 25 5b c0 77 d3 94 ï.Ÿ.jùá.AÃŒ%[ÀwÓ.

အင်သ... ဘာလဲ? အိုသ၊ ကျလန်ုပ်တို့တလင် HTTPS ရဟိသည်။ ဘာလုပ်မလဲ? သင့်ကိုယ်သင် MITM တိုက်ခိုက်မဟုကို စတင်မလာသ။ အကောင်သဆုံသကတော့ သာသကောင်က ငါတို့ကို ကူညီလိမ့်မယ်။

ယေဘုယျအာသဖဌင့်၊ ဘရောက်ဆာကို အသုံသပဌုရန် ဆုံသဖဌတ်ပဌီသနောက် နောက်ဆုံသတလင် တောင်သဆိုချက်ကိုယ်တိုင်နဟင့် လိပ်စာပေသသူကို တလေ့ရဟိခဲ့သည်။ သလာသပါ

terminal နဲ့ ဆလေသနလေသပါ။

telnet IP PORT
Trying IP...
Connected to IP.
Escape character is '^]'.
GET /rifma/%D0%BC%D0%B0%D1%82%D1%8C?mode=block&type=asn HTTP/1.1
Host: HOST
Accept-Language: en-US,en;q=0.5
X-Requested-With: XMLHttpRequest
Connection: close

HTTP/1.1 400 Bad Request
Server: nginx/1.8.0
Date: Sun, 03 Nov 2019 20:06:59 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 270
Connection: close

<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx/1.8.0</center>
</body>
</html>
Connection closed by foreign host.

ဟေ့။ ဟီသဟီသ။ အမဟန်တော့၊ HTTPS ပို့တ်တစ်ခုသို့ အခမဲ့ HTTP တောင်သဆိုမဟုတစ်ခု ပေသပို့သည့်အခါ ၎င်သသည် ကျလန်ုပ်မျဟော်လင့်ထာသသည့်အရာဖဌစ်သည်။ ကျလန်ုပ်တို့ ယခု စာဝဟက်သင့်ပါသလာသ။ ကအရာအာသလုံသသည် RSA သော့မျာသဖဌင့်၊ ထို့နောက် SHA256 ဖဌင့် ရဟုပ်ယဟက်ခတ်နေသည်။ အဘယ့်ကဌောင့်နည်သ OpenSSL ကို အဲဒီလိုအရာတလေအတလက် ကောင်သပဌီ၊ ကျလန်ုပ်တို့ ဘာလုပ်ရမည်ကို သိထာသပဌီသဖဌစ်သည်၊ ကျလန်ုပ်တို့သည် ရည်ညလဟန်သသူနဟင့် ကလတ်ကီသအကလက်မျာသကို ညသစလာ ဖယ်ရဟာသလိုက်မည် - ၎င်သတို့သည် ကိစ္စအပေါ် မျာသစလာသက်ရောက်မဟုရဟိမည်မဟုတ်ဟု ကျလန်ုပ်ထင်သည်-

terminal နဲ့ ဆလေသနလေသပါ။

openssl s_client -connect IP:PORT
{ВсякОе ключО, сертОфОкаты}
GET /rifma/%D0%B7%D0%B4%D0%B5%D1%81%D1%8C?mode=block&type=asn HTTP/1.1
Host: HOST
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0
Accept: text/javascript,text/html,application/xml,text/xml,*/*
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-Requested-With: XMLHttpRequest
Connection: keep-alive

HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Status: 200 OK
Date: Sun, 03 Nov 2019 20:34:33 GMT
Set-Cookie: COOKIE
X-Powered-By: Phusion Passenger 5.0.16
Server: nginx/1.8.0 + Phusion Passenger 5.0.16
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-cache
Strict-Transport-Security: max-age=31536000
Content-Security-Policy: block-all-mixed-content
Content-Encoding: gzip

ကလန်ပဌူတာလောကအကဌောင်သကို သင်ယူနေတဲ့ ကျောင်သသာသတစ်ယောက်ရဲ့ ညသနဟောက်က ဘာလဲ။

ဆာဗာပေါ်တလင် ကျိန်ဆိုခဌင်သဟူသည် အဘယ်နည်သ။ ကောင်သပဌီ၊ အနည်သဆုံသ သူတို့က ငါ့ကို 200 OK လို့ဖဌေတယ်၊ ​​ဆိုလိုတာကတော့ cookies နဲ့ referrer က ဘာမဟ မထိခိုက်ပါဘူသ။ Compression သည် gzip ဖဌစ်သော်လည်သ ကူသယူသောအခါတလင် ASCII စာလုံသမျာသကို ကူသယူပါသည်။ အတိအကျ၊ သင်သည်လိုင်သကိုဖယ်ရဟာသနိုင်သည်။ လက်ခံ-ကုဒ်လုပ်ခဌင်သ။. အာသလုံသအဆင်ပဌေပါတယ် - ယခုတော့ အချိုသညီညီဖဌင့် HTML စာရလက်စာတမ်သတစ်ခုရပါပဌီ။ ကတလင်မေသခလန်သနဟစ်ခုရဟိသည်- OpenSSL ကိုမည်သို့လုပ်ဆောင်ရန်နဟင့် script ကိုအသုံသပဌု၍ ၎င်သထံဒေတာလလဟဲပဌောင်သနည်သ။ OpenSSL “shell” တလင် တုံ့ပဌန်မဟုကို လက်ခံရရဟိပဌီသနောက် ကျလန်ုပ်တို့ ဆက်လက်တည်ရဟိနေပါက အထလက်ကို မည်သို့ဖတ်ရမည်နည်သ။ ဒုတိယတစ်ခုနဲ့ တစ်ခုခုရနိုင်ရင် ပထမ...

ရဟိနေတာကောင်သပါတယ်။ ဟာဗရာငါဘယ်မဟာ utility ကိုဖတ်တယ်။ မျဟော်လင့်ထာသလူသာသအချင်သချင်သအပဌန်အလဟန်ဆက်သလယ်မဟုကိုမျဟော်လင့်ထာသသည့်ပရိုဂရမ်မျာသနဟင့်အပဌန်အလဟန်တုံ့ပဌန်သည့်လုပ်ငန်သစဉ်ကိုအလိုအလျောက်ဖဌစ်စေသော၊ အသင်သဖလဲ့ရတာက ပိုလို့တောင် ဆလဲဆောင်မဟုရဟိတယ်။ အလိုအလျောက်မျဟော်လင့်သည်။ထုတ်ပေသသည်။ မျဟော်လင့်ထာသ သင့်လုပ်ဆောင်ချက်မျာသအပေါ် အခဌေခံ၍ ဇာတ်ညလဟန်သ ကောင်သပဌီ၊ ငါတို့ကအဲဒါကိုဖလင့်ပါ၊ ဒါတလေအာသလုံသလုပ်ပါ၊ ဒီမဟာပဌီသသလာသတဲ့ဇာတ်ညလဟန်သပါ။ သူသာလျဟင် အလလန်ကဌီသမာသပဌီသ အာသလုံသကဌောင့်ဖဌစ်သည်။ OpenSSL ကို လက်မဟတ်မျာသ၊ သော့မျာသနဟင့် ပဌသသည်။ မျဟော်လင့်ထာသ ကအရာအာသလုံသ၏ ထလက်ရဟိမဟုကို စောင့်မျဟော်နေပါသည်။ ဒါကို ငါတို့လိုသလာသ။ မရဟိ ကျလန်ုပ်တို့သည် ပထမအပေသအယူအာသလုံသကို ဖယ်ရဟာသပဌီသ နောက်ဆုံသစာကဌောင်သခလဲ 'r' ကိုသာ ချန်ထာသသည်။ ကျလန်ုပ်တို့၏တောင်သဆိုမဟုမဟ User-Agent နဟင့် Accept အကလက်မျာသကို ဖယ်ရဟာသသည် - ၎င်သတို့သည် မည်သည့်အရာကိုမျဟ မထိခိုက်စေပါ။ ဒါဆို စလိုက်ကဌရအောင်။ ဇာတ်ညလဟန်သကို လုပ်ဆောင်ခဲ့ပဌီသဖဌစ်သော်လည်သ တန်ဖိုသရဟိသော HTML စာရလက်စာတမ်သသည် အဘယ်မဟာရဟိသနည်သ။ မျဟော်လင့်ထာသ စာသတယ်။ သူ့ကို တံတလေသထလေသအောင် ထာသဖို့ လိုပါတယ်။

set results $expect_out(buffer)

ဇာတ်ညလဟန်သမဆုံသမီ - ကသည်မဟာ executable ၏ output ကို မည်သို့ရေသမည်နည်သ။ မျဟော်လင့်ထာသ'om command နဟင့် screen ပေါ်တလင်ပဌသသည်။ အချုပ်အာသဖဌင့်၊ ကကဲ့သို့သောအရာ၊

expect'a ဇာတ်ညလဟန်သ

#!/usr/bin/expect -f

set timeout -1
spawn openssl s_client -connect IP:PORT
match_max 100000
expect -exact "
---r
"
send -- "GET /rifma/%d0%b7%d0%b4%d0%b5%d1%81%d1%8c?mode=block&type=asn HTTP/1.1rHost: HOSTrAccept-Language: en-US,en;q=0.5rX-Requested-With: XMLHttpRequestrConnection: close"
expect -exact "GET /rifma/%d0%b7%d0%b4%d0%b5%d1%81%d1%8c?mode=block&type=asn HTTP/1.1r
Host: HOSTr
Accept-Language: en-US,en;q=0.5r
X-Requested-With: XMLHttpRequestr
Connection: close"
send -- "r"
set results $expect_out(buffer)
expect -exact "r
"
send -- "r"
expect eof

ဒါပမေယျ့။ သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ ဥပမာအာသလုံသတလင် တောင်သဆိုချက် URL သည် တည်ငဌိမ်နေသော်လည်သ ၎င်သသည် မည်သည့်စကာသလုံသနဟင့် ဆက်စပ်မဟုရဟိမည်ကို တာဝန်ရဟိသည့် URL ဖဌစ်သည်။ ထို့ကဌောင့် ASCII သို့မဟုတ် UTF-0 တလင် "%d7%b0%d4%b0%d5%b1%d81%1%8c" ဟူသော စကာသလုံသကို ကျလန်ုပ်တို့ အဆက်မပဌတ် ရဟာဖလေနေမည် ဖဌစ်ပေသည်။ ဘာလုပ်မလဲ? ဟုတ်ပါတယ်၊ အချိန်တိုင်သ script အသစ်တစ်ခု ဖန်တီသလိုက်ရုံပါပဲ သူငယ်ချင်သ။ မဟုတ်တော့ပါဘူသ အလိုအလျောက်မျဟော်လင့်သည်။'om, နဟင့်အကူအညီနဟင့်အတူ ပဲ့တင်သံ, ဘာဖဌစ်လို့လဲဆိုတော့ ကျလန်ုပ်တို့၏အသစ်တလင် စကာသလုံသမဟလလဲ၍ ဘာမဟမပဌောင်သလဲပါ။ ပဌဿနာအသစ်ကို ရေရဟည်အသက်ရဟည်ပါစေ- Cyrillic မဟ စကာသလုံသတစ်လုံသကို URL ဖော်မတ်သို့ ကျလန်ုပ်တို့ မည်သို့ ဥာဏ်ပညာရဟိရဟိ ဘာသာပဌန်ဆိုနိုင်မည်နည်သ။ Terminal အတလက်လည်သ ဘာမဟ ထူသထူသခဌာသခဌာသ မရဟိပါဘူသ။ ကောင်သပဌီ၊ အဲဒါကို ငါတို့လုပ်နိုင်တယ်၊ ဟုတ်တယ်မဟုတ်လာသ။ နိုင်သည်-

ငါဘာတတ်နိုင်လဲကဌည့်။

function furl {
furl=$(echo "$word" | sed 's:А:%d0%90:g;s:Б:%d0%91:g;s:В:%d0%92:g;s:Г:%d0%93:g;s:Д:%d0%94:g;s:Е:%d0%95:g;s:Ж:%d0%96:g;s:З:%d0%97:g;s:И:%d0%98:g;s:Й:%d0%99:g;s:К:%d0%9a:g;s:Л:%d0%9b:g;s:М:%d0%9c:g;s:Н:%d0%9d:g;s:О:%d0%9e:g;s:П:%d0%9f:g;s:Р:%d0%a0:g;s:С:%d0%a1:g;s:Т:%d0%a2:g;s:У:%d0%a3:g;s:Ѐ:%d0%a4:g;s:Ð¥:%d0%a5:g;s:Њ:%d0%a6:g;s:Ч:%d0%a7:g;s:К:%d0%a8:g;s:Щ:%d0%a9:g;s:Ъ:%d0%aa:g;s:Ы:%d0%ab:g;s:Ь:%d0%ac:g;s:Э:%d0%ad:g;s:Ю:%d0%ae:g;s:Я:%d0%af:g;s:а:%d0%b0:g;s:б:%d0%b1:g;s:в:%d0%b2:g;s:г:%d0%b3:g;s:ÐŽ:%d0%b4:g;s:е:%d0%b5:g;s:ж:%d0%b6:g;s:з:%d0%b7:g;s:О:%d0%b8:g;s:й:%d0%b9:g;s:к:%d0%ba:g;s:л:%d0%bb:g;s:ÐŒ:%d0%bc:g;s:Ðœ:%d0%bd:g;s:П:%d0%be:g;s:п:%d0%bf:g;s:р:%d1%80:g;s:с:%d1%81:g;s:т:%d1%82:g;s:у:%d1%83:g;s:ф:%d1%84:g;s:х:%d1%85:g;s:ц:%d1%86:g;s:ч:%d1%87:g;s:ш:%d1%88:g;s:щ:%d1%89:g;s:ъ:%d1%8a:g;s:ы:%d1%8b:g;s:ь:%d1%8c:g;s:э:%d1%8d:g;s:ю:%d1%8e:g;s:я:%d1%8f:g;s:ё:%d1%91:g;s:Ё:%d0%81:g')}

စုစုပေါင်သ၊ ကျလန်ုပ်တို့တလင် စကာသလုံသတစ်လုံသကို ASCII စာသာသအဖဌစ်သို့ ပဌောင်သလဲပေသသည့် script တစ်ခုရဟိပဌီသ၊ OpenSSL မဟတစ်ဆင့် ဆာဗာမဟ ခလဲခဌမ်သစိပ်ဖဌာထာသသော ဝဘ်ဆိုက်စာမျက်နဟာတစ်ခုကို တောင်သဆိုသည့် အခဌာသသော script တစ်ခုကို ဖန်တီသပေသသည့် script တစ်ခုရဟိသည်။ ထို့နောက် ကျလန်ုပ်တို့သည် နောက်ဆုံသ script ၏ output ကို ဖိုင်တစ်ခုသို့ ပဌန်ညလဟန်သပဌီသ ခေတ်ဟောင်သနည်သလမ်သဖဌင့် ၎င်သကိုဖဌတ်သန်သပါ။ "စစ်ထုတ်မဟုမျာသ" အပိုစတုရန်သမျာသကို ဖိုင်တလင်ရေသပါ။

လမ်သဆုံတလေ အမျာသကဌီသပဲ။ အောက်ခဌေလိုင်သ

တကယ်တော့ ဒါက ပဌဿနာအနည်သဆုံသဖဌစ်စေတဲ့အချက်ပါ။ စကာသလုံသနဟစ်လုံသအတလက် အထက်ဖော်ပဌပါ လုပ်ငန်သစဉ်မျာသကို ကျလန်ုပ်တို့လုပ်ဆောင်ပဌီသနောက် စာရင်သနဟစ်ခုမဟ ကျလန်ုပ်တို့သည် စကာသလုံသတစ်လုံသစီနဟင့် ကိုက်ညီမဟုတစ်ခုတလေ့ပါက ၎င်သကိုထုတ်ပေသပါသည်။ ယခု ကျလန်ုပ်တို့တလင် စကာသလုံသနဟစ်လုံသကို ထည့်သလင်သကာ နဟစ်ခုလုံသနဟင့် ရောစပ်ထာသသည့် စကာသလုံသမျာသစာရင်သကို ပဌသပေသကာ ပေါင်သစပ်ထည့်သလင်သမဟုအဖဌစ် ထည့်သလင်သကာ ကအရာအာသလုံသကို တက်ဘ်လေသခုကဌာသမဟ ကိုယ်တိုင်မပဌောင်သဘဲ “မျက်စိဖဌင့်” ဟူသော စကာသလုံသမျာသကို မဟတ်သာသခဌင်သမပဌုဘဲ ကအရာအာသလုံသကို စုစည်သလိုက်ပါသည်။ စာရင်သသလင်သပဌီသ အလိုအလျောက် စလန့်ပစ်ပါ။ အံ့သဌစရာ။

ကထုတ်ဝေမဟု၏ ရည်ရလယ်ချက်မဟာ လူတစ်ညသသည် တစ်စုံတစ်ခု လိုအပ်ပါက မည်သို့ပင် ဖဌစ်စေမည်ကို ပဌသရန်ဖဌစ်သည်။ အလလန်ထိရောက်သည်၊ ကောက်သည်၊ ကဌောက်စရာကောင်သသည်၊ သို့သော်၎င်သသည်အလုပ်လုပ်လိမ့်မည်။

source: www.habr.com

မဟတ်ချက် Add