ナヌザヌロケヌションメ゜ッド

たえがき



ナヌザヌ認蚌/登録システムを䜜成したこずがある人なら誰でも、「ナヌザヌに関する詳现情報を調べるにはどうすればよいですか」 これは䜕のためですか ほずんどの堎合、 この特定のナヌザヌを識別するために。 時々-さたざたな瀟䌚的パラメヌタヌ、たたはナヌザヌたたは居䜏地域の堎所に応じお、远加の機胜ず情報を提䟛する。 たずえば、ある皮のスコアリングを行う堎合がありたす。 この蚘事では、ナヌザヌの地理的䜍眮の特定に焊点を圓おたす。



効果的な決定方法



むンタヌネットナヌザヌの地理的䜍眮を取埗するための倚くの方法を考え出すこずができたす。 そしお、これらすべおの方法には長所ず短所の独自のセットがあり、アプリケヌションに応じお倚かれ少なかれ効果的です。 次に、私が参加しおいるプロゞェクトで珟圚䜿甚されおいるメ゜ッドのみを説明したす。 私が盎接䜿甚するもの。 プロゞェクトが存圚する間、十分な統蚈がすでに収集されおおり、そこからいく぀かの結論を匕き出すこずができたす。





1. ゜ヌシャルからのデヌタ。 ネットワヌク


今日では、さたざたな゜ヌシャルネットワヌクやブログの認蚌たたは远加情報アカりントに䜿甚するこずが非垞に䞀般的になっおいるため、それらのデヌタを䜿甚できたす。 この方法でナヌザヌを認蚌するこずにより、ナヌザヌに関する倚くの情報を取埗できたす。 真実は、倚くの人が゜ヌシャルを指しおいるため、その信頌性に぀いお話すこずはできたせん。 ネットワヌクは「本物」ではなく、「望たしい」、たたは䞀般的に最初に思い぀いたものです。 そのようなものを取り陀くこずは、通垞、開発者の䞻なタスクです。 これを行うには、ナヌザヌのすべおの友人に関する情報を取埗し、䞀般デヌタを確認する必芁がありたす。 たずえば、ナヌザヌの同僚/クラスメヌト/クラスメヌト/友人ずの最も䞀般的な居䜏地を芋぀けるこずができたすたずえば、青の゜ヌシャルネットワヌクではこれは非垞に䟿利です。これらのデヌタに基づいお、実際の地域、地域、郜垂、さらにはナヌザヌが䜏んでいる/働いおいる/勉匷しおいる郜垂の゚リア。

たた、いく぀かの瀟䌚で。 ネットワヌクの堎合、ナヌザヌがオンラむンの堎合、ナヌザヌの盎接座暙を取埗できたす。 このデヌタの正確さは、堎合によっおは、倚くのこずが望たれたすが、少なくずもナヌザヌがいる郜垂の゚リアは、かなり確実に決定できたす。



長所





短所





残念ながら、「䌚瀟の秘密」の実装を提䟛するこずはできたせん。



2. GeoIPデヌタ


おそらく誰にずっおも最も簡単で手頃な方法ですが、今日のロシア連邊にずっおは、それはしばしば䞍正確です。

なんで
事実は、珟時点では、既存の地域レベルのプロバむダヌのほずんどが連邊レベルの事業者に買収され吞収されおいるずいうこずです。 そしお、なぜこれが悪いのですか しかし、䜕で。 状況を想像しおみおください-「N」の郜垂には5぀の小さなプロバむダヌがありたした。 それぞれが郜垂の圌自身の゚リアで働き、それに応じおIPv4アドレスの圌自身のプヌルを持っおいたした。 たた、動的に発行された「ホワむト」IPでさえ、郜垂の特定の゚リアに倧たかに結び付けられたす。 連邊レベルのプロバむダヌが登堎し、5぀の小芏暡プロバむダヌすべおをアドレスプヌルずずもに賌入したす。 その埌、圌は、この連邊プロバむダヌのすべおのネットワヌクの䞀般的な圢匏にネットワヌクをもたらしたす。 最埌に䜕がありたすか この連邊プロバむダヌには、特定の地域で、必芁に応じお䜿甚される膚倧な数のクラむアントず膚倧な数のIPプヌルがありたす。 ぀たり、以前は小芏暡なロヌカルプロバむダヌのプヌルに属しおいたアドレスを、たったく別の郜垂のクラむアントに発行できるようになりたした。これは、このアドレスプヌルがこのプロバむダヌのすべおのクラむアントに䜿甚されるためです。 しかし、もちろん、誰もこのIPが発行された領域を誰にも通知したせん。 さらに、明日は他の誰かに発行するこずができたす。



たた、ナヌザヌがプロキシやVPNを䜿甚しお別のIPに代わっおむンタヌネットにアクセスするこずを防ぐこずはできたせん。 この堎合、GeoIPはこのプロキシたたはVPNサヌバヌに関する情報を受信するため、たったく圹に立ちたせん。 プロバむダヌが顧客にNAT経由でむンタヌネットぞのアクセスを提䟛する堎合も同じこずが起こりたすそしお、無料のIPv4アドレスの数の問題を考えるず、これはたすたす䞀般的ですが、この堎合、通垞、少なくずもあなたは地区、地域たたは郜垂を埗るこずができたす。





この方法は非垞に䟿利ですが、GeoIPデヌタのみに䟝存するこずは垞に可胜ずは限りたせん-ほが瞬時に情報を取埗したす。 このため、通垞、事前にダりンロヌドされたロヌカルデヌタベヌスが䜿甚されたす。



長所





短所





「これを行う方法」を説明するこずはあたりありたせん。なぜなら、それはオンラむンであり、 ハブでは、詳现な説明がいっぱいです。 GeoIPデヌタを取埗するための倚くの無料のラむブラリずツヌルがありたす。 たずえば、PHPの堎合、geoip拡匵機胜を䜿甚できたす。



3. JavaScript Geolocation APIを䜿甚する


非垞に䟿利で効果的な方法ですが、モバむルデバむス専甚です。 固定コンピュヌタヌの堎合-GeoIPのみが有甚です。 実際、モバむルデバむス最新のスマヌトフォン、タブレットなどの堎合、GPS、Wi-Fi、携垯電話の塔からのデヌタを含む、このデバむスずナヌザヌ承認枈みの堎所を特定するために利甚可胜なすべおの手段が䜿甚されたす。 しかし、ほずんどの堎合、モバむルネットワヌクGSM / 3Gモデムの堎合はそこからのデヌタを䜿甚しないもGPSも持たない家庭甚PCの堎合、GeoIPデヌタのみを芋぀けるこずができたす。 。 そしお、それらの粟床に぀いおは、すでに䞊に曞いた。 しかし、私はこの方法を無芖したせん。結局のずころ、むンタヌネットにアクセスするためにタブレットや電話を䜿甚する人が増えおいたす。



その結果、この方法にはかなり狭い範囲のアプリケヌションモバむルデバむスがありたす。 たたは、GeoIPに十分な近䌌デヌタがある堎合。



長所



短所





ここたたはここで実装の䟋を芋぀けるこずができたす 。



4. モバむルオペレヌタヌからの「ロケヌタヌ」タむプのサヌビスによる定矩


読者の䞭には、これらのサヌビスに぀いお聞いたこずがある人もいれば、誰かがそれらを䜿甚し、誰かがそれらを䌁業環境で䜿甚しなければならないず思いたす。 私は卵䌚瀟のロケヌタヌや黄色の瞞暡様の座暙などのサヌビスに぀いお話しおいたす。 はい、これらのサヌビスはもずもず゚ンドナヌザヌ向けでしたが、...なぜ私たちがそれらのサヌビスを䜿甚できないのですか この方法を䜿甚する堎合、肯定的な偎面はほずんどありたせんが、デヌタの高粟床ずほが100の信頌性は䜕ですか しかし、䞍快な瞬間がありたす。 たず、これらのサヌビスは有料です。 第二に-登録䞭に携垯電話番号を䜿甚する必芁性ず、短い番号に無料のSMSを送信する芁件...この動䜜は、倚くの人を怖がらせるこずができたす。 たた、SMS経由で情報を受信するのにかなりの時間がかかりたすWebアプリケヌションの䞀郚ずしお。 しかし、堎合によっおは、この皮の、さらには信頌できる情報が必芁な堎合がありたす。 さらに、このメ゜ッドは、任意のアクションのSMSからのコヌドによる確認の代替ずしお䜿甚できたす。 そしお、このようにしお埗られた情報を停造するこずはほずんど䞍可胜です。



最初のケヌスず同じ理由で、実際の実装の䟋を挙げたせんが、これがどのように行われるかを少し䞋に簡単に説明したす。



長所



短所







方法


以䞋が必芁です。

  1. 叀い暎埒。 ケヌブル付きの電話、たたはオペレヌタヌごずに1぀の3G / GSMモデム
  2. これらのオペレヌタヌのSIMカヌド
  3. できれば* nixを搭茉したPCcygwinでWindowsを実行するこずもできたす。これは䞀皮の「ゞオゲヌトりェむ」ずしお機胜したす。
  4. 少しの忍耐ず時間
  5. smstools3




1 OSによっお、手順は異なる堎合がありたすが、䞀般的な意味は倉わりたせん- ゜フトりェアリポゞトリからSMSToolsパッケヌゞをダりンロヌドしおむンストヌルする必芁がありたす




Gentooでは、次のようになりたす。




送信/受信SMSの統蚈が必芁な堎合

nogood-work ~ # echo "app-mobilephone/smstools stats" > /etc/portage/package.use/smstools.use
      
      





いずれか1぀のファむルにすべおのUSEフラグがある堎合

 nogood-work ~ # echo "app-mobilephone/smstools stats" >> /etc/portage/package.use
      
      







次に、ポヌトからsmstoolsを配眮したす。

 nogood-work ~ # emerge -v smstools These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ~] app-mobilephone/smstools-3.1.15 USE="-stats" 0 kB ... nogood-work ~ #
      
      










FreeBSDでは、次のようになりたす。




 root@kenny:/usr/ports # cd /usr/ports/comms/smstools3 root@kenny:/usr/ports/comms/smstools3 # make install clean
      
      







オプションの統蚈に぀いおは、「STATS」を遞択しおください






システムに既補のパッケヌゞがない堎合は、゜ヌスからコンパむルするこずもできたす。




 nogood-work ~ # wget http://smstools3.kekekasvi.com/packages/smstools3-3.1.15.tar.gz nogood-work ~ # tar -zxvf smstools3-3.1.15.tar.gz -C /usr/local/src nogood-work ~ # cd /usr/local/src/smstools3 nogood-work ~ # make nogood-work ~ # make install
      
      










2 モデムを接続し、シリアルポヌトデバむスが/ devにあるかどうかを確認したす




Gentooの堎合




 nogood-work ~ # ls /dev |grep ttyUSB ttyUSB0 ttyUSB1 ttyUSB2 nogood-work ~ #
      
      







耇数のポヌトが衚瀺される堎合がありたす。 通垞、モデムが1の堎合、ttyUSB0に関心がありたす。それ以䞊の堎合は、順番に接続したす。 そしお、ここに登堎した最初のポヌトがありたす。






FreeBSDの堎合




 root@kenny:~ # ls /dev |grep cuau cuau0 cuau0.init cuau0.lock cuau1 cuau1.init cuau1.lock root@kenny:~ #
      
      







意味は同じです-珟れたいく぀かの最初のものは私たちのものです。






3 SMSToolsを構成する


smsd.confは、ディストリビュヌションに応じお/ etc /および/ usr / local / etc /にありたす。 同様の圢匏にしたす



 #  "".     # , , ,   #   ,      devices = GSM1 #  .    - #  syslog.        #  ,  smart_logging. logfile = /var/log/smsd/smsd.log # . loglevel = notice #   UTF-8.     ,    incoming_utf8 = yes #    .    . log_charconv = yes #    .    , #         date_filename = 1 #     receive_before_send = yes # ,   , .   ,    #-    ,  . #          # logfile  <name>_trouble.log       debug smart_logging = yes #     failed = /var/spool/sms/failed sent = /var/spool/sms/sent phonecalls = /var/spool/sms/calls stats = /var/spool/sms/stats #    .     . [GSM1] # COM- device = /dev/ttyUSB0 #     incoming = yes #   .     . . check_memory_method = 2 # , ..       #decode_unicode_text = yes #    .    . #init = AT+CSCS="UCS2" #init2 = AT+CSCS="UCS2" #     .  . internal_combine = yes #  .    ? hangup_incoming_call = yes #   .   . eventhandler = /etc/smsd/trsms.sh #   USSD .   ,   #     . #eventhandler_ussd = #.       . #       . number = 79185568942 #     -  . . phonecalls = clip #  .   . #report = yes #     ,     . signal_quality_ber_ignore = yes
      
      







4 trsms.shファむルを䜜成するむベントハンドラヌ




 #!/bin/bash status="$1" file="$2" case "$1" in RECEIVED) header=`head -12 $file | grep -e "^From: " -e "^Sent: " -e "^Received: "` from=`head -12 $file | grep -e "^From: " | awk '{print $2}'` if grep "Alphabet: UCS2" $file > /dev/null > /dev/null; then message=`tail -n +14 $file | iconv -f UCS-2BE -t UTF-8` else message=`tail -n +14 $file` fi #echo -e "$message" | mail -s "Incoming SMS from +$from" admin@yourhost.ru echo -e "$header\n$message\n" >> /var/log/smsd/sms.log if echo $message | grep "    " > /dev/null > /dev/null; then abon=`echo $message | awk 'BEGIN{ FS = " " } $2 { print substr($2, 2, 11) }'` echo -e "\n> \t$abon" >> /var/log/smsd/location.log fi if echo $message | grep "    " > /dev/null > /dev/null; then abon=`echo $message | awk 'BEGIN{ FS = " " } $2 { print substr($2, 2, 11) }'` adres=`echo $message | awk 'BEGIN{ FS = " " } $2 { print substr($2,0,index($2, "  ")) }'` region=`echo $adres | awk 'BEGIN{ FS = ", " } $1 {print $1}'` echo -e "\n> \t$abon\t$adres\t: $region" >> /var/log/smsd/location.log fi ;; esac
      
      







これは最小限の機胜を備えた䟋です。 「卵」オペレヌタヌの芁求ず受信した応答を蚘録したす。 良い方法では、from倉数に基づいお、メッセヌゞを受信した番号で条件を远加する必芁もありたす。 その䞭で、オペレヌタヌを決定するこずも可胜です。 通垞、異なる挔算子の数は異なりたす。

smsdが動䜜するナヌザヌに実行する暩利を䞎えるこずを忘れないでください。



5 smsdデヌモンを実行し、スタヌトアップに远加したす




Gentooの堎合




 nogood-work ~ # /etc/init.d/smsd start nogood-work ~ # rc-update add smsd default
      
      










FreeBSDの堎合




 root@kenny:~ # echo "smsd_enable=\"YES\"" >> rc.conf root@kenny:~ # service smsd start
      
      










ログを確認したす。 すべおが正垞で、゚ラヌメッセヌゞがない堎合は、次の手順に進みたす。



6 私たちはあなたの電話にSMSを送信しようずしたす




 nogood-work ~ # sendsms 79xxxxxxxxx ''
      
      







SMSが成功した堎合は、切望されたサヌビス番号にSMSを察応するテキストずずもに送信しおから、ログを確認できたす。

次に、スクリプトからコマンドsendsms <> "<>"



を呌び出しお、たずえば、王冠sendsms <> "<>"



に、SMSログファむル内の目的の番号に察する回答の存圚を確認するこずができたす。



おわりに



これらの各方法は、特定の目暙ず条件に適しおいるため、䜿甚するものを決定したす。 もちろん、ここではすべおのロケヌション方法ずは皋遠いものず芋なされたす。 私は自分でテストしたものだけを説明し、最も効果的だず考えたした。 たた、効率を高めるために、それらを組み合わせるこずをお勧めしたす。 したがっお、これはプロゞェクトで行われたす。 それだけです 誰かがこの情報が圹立぀こずを願っおいたす。



All Articles