რას ნიშნავს VK როგორც ავტორიზებული მომხმარებელი?

ეს სტატია ძირითადად არის გაკვეთილის თარგმანი ოფიციალური rtfm-დან, კერძოდ, „შესვლა“ კომპონენტიდან, მაგრამ მთარგმნელის ჩანართებით. ჩართულია საუკეთესო თარგმანიარ ვაპირებ, მაგრამ არსი ბოლომდე გასაგები უნდა იყოს. თუმცა რუსულად თარგმანი ჯერ კიდევ ვერ ვიპოვე.
ამ გაკვეთილს, მიუხედავად იმისა, რომ "ძირითადი" ეწოდება, ბევრი აქვს ურთიერთდაკავშირებული ნაწილები. IN ეს გაკვეთილიჩვენ განვიხილავთ, თუ რა გვერდები უნდა შეიქმნას, რა ნაწილები (კოდის ფრაგმენტები) და ფრაგმენტები უნდა გამოქვეყნდეს გვერდებზე მომხმარებლის სრული ავტორიზაციისთვის.

ფრჩხილებში მოცემული ნომრები არის რესურსების ID. ეს არის page_id, ის შეიძლება განსხვავდებოდეს თქვენთვის. ისინი აქ შერჩეულია უბრალოდ მოხერხებულობისთვის.

ჩვენ ვქმნით საჭირო გვერდებს

სანამ გამოვაქვეყნებთ ნაწილებს კოდის ფრაგმენტებით, ჩვენ შევქმნით ხუთ გვერდს.
  • შესვლის გვერდი (1):გვერდი, რომელიც შეიცავს შესვლის ფორმას
  • პაროლის აღდგენა (2):გვერდი, სადაც მომხმარებლებს შეუძლიათ მოითხოვონ პაროლის აღდგენა
  • პაროლის გადატვირთვის დამმუშავებელი (3): დამალული გვერდი, რომელიც რეალურად აღადგენს პაროლს. მომხმარებლები ამას ვერ ნახავენ.
  • მხოლოდ მომხმარებლების გვერდი (4):გვერდი, რომლის შინაარსი ხილულია მხოლოდ საიტის ავტორიზებული მომხმარებლებისთვის
  • გასასვლელი გვერდი (5):გვერდი, რომელზეც მომხმარებელი გადამისამართებულია სისტემაში წარმატებით გამოსვლის შემდეგ
ასე გამოიყურება ჩემი რესურსის ხე: მომენტში. გაითვალისწინეთ, რომ თქვენი რესურსის ID იქნება განსხვავებული. IN ამ მაგალითში"შესვლა" კომპონენტის გვერდების გარდა არაფერია.

შემდეგი, ჩვენ უნდა დავანიშნოთ სწორი უფლებებიმომხმარებლებისთვის და რესურსებისთვის.

შექმენით საჭირო მომხმარებელთა ჯგუფები და რესურსების ჯგუფები

MODX Revo-ს აქვს ძალიან მოქნილი სისტემაუფლებების დეტალები, როდესაც საქმე ეხება მომხმარებლების ნებართვებს, მაგრამ ამ თემაში ჩვენ გავაკეთებთ მხოლოდ იმას, რაც გვჭირდება თემის სიღრმის გარეშე. მაშ ასე, დავიწყოთ.
1. უსაფრთხოება → რესურსების ჯგუფები
დააწკაპუნეთ „რესურსების ჯგუფის შექმნა“ და დაარქვით „მხოლოდ მომხმარებლებისთვის“, მაგალითად. დააწკაპუნეთ "შენახვა" და ეს არის ის, ჩვენ არაფერს ვცვლით ამ გვერდზე.


2. უსაფრთხოება → წვდომის კონტროლი
პირველ "მომხმარებელთა ჯგუფების" ჩანართზე დააწკაპუნეთ "ახალი მომხმარებელთა ჯგუფი". ახალი ჯგუფიმოდით დავარქვათ "მომხმარებლები" და დააწკაპუნეთ "შენახვა". მომხმარებელთა ჯგუფს ექნება წვდომა "მხოლოდ მომხმარებლების" რესურსებზე. რატომ გვჭირდება ეს ცოტა მოგვიანებით ამ გაკვეთილზე გავარკვევთ.


3. იმავე გვერდზე ( უსაფრთხოება → წვდომის კონტროლი), დააწკაპუნეთ დააწკაპუნეთ მარჯვენა ღილაკითდააწექით შექმნილ მომხმარებელთა ჯგუფზე და აირჩიეთ "მომხმარებელთა ჯგუფის რედაქტირება".



შემდეგი, გადადით "რესურსების ჯგუფებზე წვდომა" ჩანართზე და დააჭირეთ "რესურსების ჯგუფის დამატებას". ამისთვის სათანადო ოპერაცია, უნდა არსებობდეს მინიმუმ შემდეგი პარამეტრები:
რესურსების ჯგუფი:მხოლოდ მომხმარებლები (ის ჩვენ ახლახან შევქმენით)
მინიმალური როლი:წევრი-9999
წვდომის პოლიტიკა:ჩატვირთვა, სია და ნახვა
კონტექსტი:ვებ
და ჩვენ ვზოგავთ.



4. უსაფრთხოება → მომხმარებლის მართვა
ჩვენ ვქმნით "ახალ მომხმარებელს" და ამით ვამოწმებთ, თუ როგორ იმუშავებს მომხმარებლებისთვის წვდომის უფლებების დიფერენციაცია.
IN ამ შემთხვევაში, გამოიყენეთ მარტივი შესვლა და პაროლი, რადგან, როგორც ზემოთ დავწერე, ჩვენთვის მნიშვნელოვანია ამაში დარწმუნდეთ ახალი მომხმარებელიმდებარეობს "მომხმარებლების" ჯგუფში. ამისათვის გადადით "წვდომის უფლებების" ჩანართზე და დააჭირეთ "მომხმარებლის დამატება ჯგუფში".
მომხმარებელთა ჯგუფი:მომხმარებლები
როლი:წევრი
შემდეგ დააჭირეთ ღილაკს "შენახვა" ფანჯარაში და შემდეგ ისევმართვის პანელის მარჯვენა კუთხეში.



ეს უნდა უზრუნველყოს, რომ ახალ მომხმარებელს შეუძლია შევიდეს „მომხმარებლის“ უფლებებით, რათა ნახოს გვერდი „მხოლოდ მომხმარებლების“ უფლებებით.
ახლა დავუბრუნდეთ გვერდებს, რომ დავამატოთ ფრაგმენტები და კოდის ფრაგმენტები შესაბამის გვერდებზე.

გვერდებზე ფრაგმენტების დამატება

შესვლის გვერდი (1)

განათავსეთ შემდეგი ფრაგმენტი ზარის კოდი მომხმარებლების შესვლის გვერდზე.
[[!შესვლა? &loginTpl=`lgnLoginTpl` &logoutTpl=`lgnLogoutTpl` &errTpl=`lgnErrTpl` &loginResourceId=`4` &logoutResourceId=`5`]]
ბლოკი (კოდის ფრაგმენტი), რომელიც აჩვენებს შესვლის ფორმას, ასევე უნდა შეიცავდეს ბმულს „პაროლის აღდგენის“ გვერდზე. მოდით შევხედოთ რა გვაქვს ზარის ფორმაში:
&loginTpl=`lgnLoginTpl` - lgnLoginTpl ბლოკი პასუხისმგებელია შესვლის ფორმაზე, თუ მომხმარებელი არ არის ავტორიზებული
&logoutTpl=`lgnLogoutTpl` - თუ მომხმარებელი ავტორიზებულია, მაშინ lgnLogoutTpl ნაწილის შინაარსი გადაეცემა მას
&errTpl=`lgnErrTpl` - თუ ავტორიზაციის მონაცემები არასწორად არის შეყვანილი, ან მარტივი სიტყვით"შეცდომა", გამოჩნდება lgnErrTpl ბლოკი
&loginResourceId=`4` - სად უნდა გადამისამართდეს მომხმარებელი წარმატებული ავტორიზაციის შემდეგ. მითითებულია როგორც რესურსის ID, ამ შემთხვევაში 4.
&logoutResourceId=`5` - თუ მომხმარებელი შესულია, მაშინ გამოსვლისას ის გადამისამართდება გვერდზე ID ტოლი 5-ით.
ასევე მინდა აღვნიშნო, რომ ეს ნაჭრები სტანდარტულია, თქვენ შეგიძლიათ შექმნათ თქვენი საკუთარი ნაჭრები ყველა გემოვნების, განლაგებისა და განხორციელებისთვის. ეს შესაძლებელს ხდის შესვლის/გამოსვლის ფორმის ჩვენებას და ა.შ. ნებისმიერი სასურველი ფორმით და კოდით ქაოსის შექმნის გარეშე. სტანდარტული შაბლონებისხვათა შორის, შეიძლება შეიცვალოს.
აქ არის კოდი, რომელიც გადაეცემა მომხმარებლებს, რომლებიც ჯერ არ არიან შესული, სხვა სიტყვებით რომ ვთქვათ, "შესვლის ფორმა". ნაჭერი - lgnLoginTpl.
[[+ შეცდომები]]
[[+actionMsg]] [[+login.recaptcha_html]]
დაგავიწყდათ პაროლი?
თქვენ შეგიძლიათ განათავსოთ ბმული "დაგავიწყდათ პაროლი" (პაროლის გადატვირთვა) თქვენს შაბლონში და დაუკავშიროთ მას ID-ით. ჩემს შემთხვევაში, პაროლის აღდგენის რესურსის ID არის 2.

პაროლის აღდგენა (2)

დავიწყოთ იმით, რომ ეს გვერდი ყველაზე ხშირად იმალება მენიუდან. ეს ძირითადად ფორმაა, რომლის საშუალებითაც მომხმარებლებს შეუძლიათ პაროლის აღდგენა. აქვე მინდა აგიხსნათ, რომ პაროლის გადატვირთვის გვერდი (ჩემს შემთხვევაში ID 2-ით) იძლევა იმის თქმის შესაძლებლობას, რომ პაროლის გადაყენებაა საჭირო და თავად გადატვირთვა ხდება „პაროლის გადატვირთვის, დამმუშავებლის (3) მიერ. ” გვერდი.
დარეკეთ პაროლის გადატვირთვის ფორმაზე შემდეგი კოდით:
[[!დაგავიწყდათ პაროლი? &resetResourceId=`3` &tpl=`lgnForgotPassTpl`]]
მოდით შევხედოთ გამოწვევას:
&resetResourceId=`3` - დამმუშავებლის გვერდი (ჩემს შემთხვევაში ID 3), ეს არის ის, რომელიც გადატვირთულია.
&tpl=`lgnForgotPassTpl` - ნაჭერი კოდით, რომელიც შეიცავს პაროლის გადატვირთვის ფორმას.
იმის გასაგებად, თუ რატომ გამოიყენება დამმუშავებელი და როგორ მუშაობს იგი, გირჩევთ გადახედოთ სურათს:


პაროლის გადატვირთვის დამმუშავებელი (3)

ეს გვერდი უნდა იყოს დამალული ყველა მენიუდან. თუმცა, თუნდაც მასზე ბმული იყოს, ის უბრალოდ უაზრო იქნება.
მისი არსი შემდეგია. როდესაც მომხმარებელი ითხოვს პაროლის გადატვირთვას, ის იღებს ელ.წერილს ამ ბმულით, ასევე ჰეშს. როდესაც მომხმარებელი დააჭერს ბმულს ფოსტიდან, MODx აღადგენს პაროლს და გადამისამართებს მომხმარებელს შესვლის გვერდზე.
დამმუშავებლის გვერდზე სნიპეტს ასე ჰქვია:
[[!პაროლის გადაყენება? &loginResourceId=`1`]] - &loginResourceId=`1` მიუთითებს რომელ გვერდზე გადამისამართება, ჩვენს შემთხვევაში ID 1-ის მქონე გვერდზე, სადაც არის შესვლის ფორმა.

მხოლოდ მომხმარებლების გვერდი (4)

ეს არის გვერდი, რომელიც ადასტურებს, რომ მომხმარებელი წარმატებით შევიდა სისტემაში. ამ გვერდის შინაარსი მხოლოდ ხელმისაწვდომია ავტორიზებული მომხმარებლები.
იმისათვის, რომ გვერდი ხელმისაწვდომი იყოს მხოლოდ ავტორიზებული მომხმარებლებისთვის, ჩვენ უნდა მივცეთ მას უფლებები. ამისათვის რესურსის ხეში დააწკაპუნეთ „გვერდი მხოლოდ მომხმარებლებისთვის“. შემდეგ გადადით "წვდომის უფლებების" ჩანართზე, იქ ვხედავთ ტექსტს "მხოლოდ მომხმარებლებისთვის" და მისგან მარჯვნივ, "წვდომის" სვეტში ვხედავთ მონიშნულ ველს. მონიშნეთ ყუთი და დააჭირეთ "შენახვას".


გასვლა გვერდი (5)

ეს არის გვერდი, რომელზეც მომხმარებლები ხვდებიან თავიანთი ანგარიშიდან წარმატებით გამოსვლის შემდეგ. გვერდი უნდა შეიცავდეს მხოლოდ საფუძვლებს, როგორიცაა გამოსამშვიდობებელი შეტყობინება ან შესვლის ფორმის ბმული. მაგალითად:

გმადლობთ სტუმრობისთვის! მალე დაბრუნდი!

დამატებით

გასვლა გვერდი (5)

ეს არ არის სავალდებულო, მაგრამ ტესტირებისთვის და ზოგადად, განვითარების დროს მოხერხებულობისთვის, შეგიძლიათ მიიღოთ სპეციალური ბმულიგასასვლელად. ამისათვის ჩვენ ვქმნით " ახალი ბმული"(ვებ-ბმული) და შეავსეთ მისი გვერდი ID 1-ით. მაგალითად, დაურეკეთ გვერდს ბმულით ასე:
[[~1? &სერვისი=`გამოსვლა`]]
ეს შეიძლება გამოვიყენოთ ასეთი გამოსავალისთვის:
გასვლა

შესაძლო შეცდომები

მას შემდეგ რაც შევაგროვეთ ყველა გვერდი, დავაკავშირეთ ისინი, დავაკონფიგურირეთ წვდომის უფლებები, ყველაფერი უნდა შევამოწმოთ. თუ ყველაფერი მუშაობს ჩვენი გეგმის მიხედვით, მაშინ შესვლისას ჩვენ გადამისამართდებით "მხოლოდ მომხმარებლების" გვერდზე. ჩვენ შეგვიძლია გამოვიდეთ ჩვენი ანგარიშიდან შესვლის გვერდის მეშვეობით, რადგან თუ ჩვენ ვართ ავტორიზებული, მაშინ შესვლის გვერდზე გამოჩნდება ბმული გამოსვლისთვის. წარმატებით გამოსვლის შემდეგ, თქვენ უნდა გადამისამართდეთ „გასვლის გვერდზე“.

ვერ შევდივარ!

როგორც წესი, ასეთი პრობლემები წარმოიქმნება, როდესაც გვერდის ID არასწორად არის მითითებული, ნაწილის სახელები არასწორად არის დაწერილი, ან ნაწილაკები აკლია. კვადრატული ფრჩხილები. ყურადღებით შეამოწმეთ კოდები.

გარდა ამისა, უნდა გვახსოვდეს, რომ ზემოთ დაწერილი ყველა ფრაგმენტი უნდა ეწოდოს არაქეშირებულს. რა თქმა უნდა, ზოგიერთი ალბათ იმუშავებს ქეშირებული სახით, მაგრამ უმეტესობა არა. თქვენ შეგიძლიათ დარეკოთ ის არაქეშირებულ ფორმაში გამოყენებით ძახილის ნიშანიმაგალითად, თქვენ უნდა დაწეროთ ასე:
[[! შესვლა]]
მაგრამ არა ასე:
[]

მე არ შემიძლია ჩემი ანგარიშიდან გასვლა!

ერთ-ერთი მიზეზი, რის გამოც ვერ გამოხვალთ თქვენი ანგარიშიდან არის ის, რომ გამოსვლის ბმული მიუთითებს გვერდზე, სადაც არ არის შესვლის ფორმა. უნდა გვახსოვდეს, რომ გამოსვლის ღილაკი უნდა მიუთითებდეს გვერდზე შესვლის ფორმით.

ასევე შეიძლება იყოს, რომ პაროლის გადატვირთვისას, ელშეტყობინება არ მოდის. ამ შემთხვევაში, ღირს თქვენს სერვერზე ფოსტის გაგზავნის დაყენება.

დასვით კითხვები, თუ მე ვიცი პასუხი, აუცილებლად დაგეხმარებით. შემდეგი გაკვეთილი ითარგმნება თავისუფალი დრო. თქვენი კომენტარები გათვალისწინებული იქნება :)
ბოდიშს გიხდით კოდის დაფორმატებისთვის - ეს პირველი შემთხვევაა, მაგრამ როგორ დავაფორმოთ არსად წერია...

თუმცა, ეს სტატია განიხილავს დესკტოპის აპლიკაციას Java-ში, როგორც მაგალითად ზოგადი პრინციპებიდა სქემა მსგავსი იქნება ნებისმიერი სხვა ენისთვის.

როგორ ხდება ავტორიზაცია?

ავტორიზაცია VKontakte-ზე არაფრით განსხვავდება სხვა ავტორიზაციისგან მესამე მხარის სერვერი. ეს პროცესი შესანიშნავად იყო აღწერილი StackOverflow მომხმარებლის მიერ qnub:

  1. სერვისზე (ამ შემთხვევაში VK) თქვენ უნდა დაარეგისტრიროთ აპლიკაცია და მიიღოთ API გასაღები.
  2. ამის შემდეგ აპლიკაციას (საიტს) შეუძლია მოითხოვოს მომხმარებლის პერსონალური მონაცემები მესამე მხარის სერვისიდან იმავე API-ს მეშვეობით, რისთვისაც:
    • მომხმარებლის გადამისამართება (მომხმარებლის ბრაუზერი 302 გადამისამართების HTTP პასუხის გაგზავნით) მიერ სპეციალურად შექმნილი ბმულისერვისს, რომელიც უზრუნველყოფს API-ს;
    • მომხმარებელი იქ შეასრულებს გარკვეულ მოქმედებებს, სავარაუდოდ შედით სისტემაში და დაუშვებს მონაცემებზე წვდომას.
  3. მოქმედებების დასრულების შემდეგ მომხმარებელი გადამისამართდება მესამე მხარის მომსახურებაიგივე 302 გადამისამართების გამოყენებით პარამეტრებში გადაცემული URL-ზე სპეციალურად შექმნილი ბმული.

ნაბიჯი პირველი. დაარეგისტრირეთ თქვენი განაცხადი და მიიღეთ გასაღები

ეს ნაბიჯი ყველაზე მარტივია. თქვენ უნდა გადახვიდეთ VK გვერდზე დეველოპერებისთვის: https://vk.com/dev- და დააჭირეთ ღილაკს "აპლიკაციის შექმნა". ჩვენ აღვნიშნავთ ტიპს, როგორც "დამოუკიდებელ აპლიკაციას", სახელი, რა თქმა უნდა, თვითნებურია. ამის შემდეგ, განყოფილებაში "ჩემი აპლიკაციები"(რას ფიქრობთ?) გამოჩნდება თქვენი განაცხადი. თავისუფლად დააწკაპუნეთ "რედაქტირებაზე", შემდეგ გადადით "პარამეტრების" განყოფილებაში - იქ პირველ სტრიქონში ნახავთ წარწერას "აპლიკაციის ID: 1234567 " ეს ნომრები არის ყველაფერი, რაც უნდა გახსოვდეთ სისტემაში შესასვლელად.

გაითვალისწინეთ, რომ აპლიკაციის ID-ის დამალვას აზრი არ აქვს - ის საჯაროდ არის ნაჩვენები, მაგალითად, ამ აპლიკაციის მეშვეობით კედლის შეტყობინების გამოქვეყნებისას. არც ჟეტონების და არც სხვა ინფორმაციის მოპარვა არ შეიძლება ID-ის გამოყენებით. სინამდვილეში, თქვენ შეგიძლიათ გამოიყენოთ ჩემი აპლიკაციის ID (თუ თქვენ გჭირდებათ პატარა სკრიპტის დაწერა თქვენთვის).

ნაბიჯი მეორე. სპეციალური ბმულის გენერირება

შემდეგი, თქვენ უნდა მიმართოთ მომხმარებელს სპეციალურად გენერირებულ მისამართზე (მისი ხსენებები ხაზგასმულია სტატიის პირველ ნაწილში თამამად), სადაც ის დაადასტურებს, რომ სურს თქვენს აპლიკაციას დაუშვას გარკვეული მოქმედებები თავისი ანგარიშით. როგორ იქმნება ეს ბმული?

ეს პროცესი დეტალურად არის აღწერილი დოკუმენტაცია. თუმცა, თუ ამ სტატიას მიმართეთ, ვვარაუდობ, რომ დოკუმენტაციაში საკმარისი ინფორმაცია არ გქონდათ და ამიტომ ყველაფერს ჩემი სიტყვებით მოგიყვებით. ლინკი აქვს შემდეგი ხედი: მასპინძელი?პარამეტრები. პარამეტრებს აქვთ რამდენიმე გასაღები=მნიშვნელობის წყვილი, რომლებიც გამოყოფილია & სიმბოლოებით.

მასპინძელი ყოველთვის იგივე რჩება: https://oauth.vk.com/authorize. პარამეტრების ნაკრები ასევე უცვლელია:

  • client_id. აქ ღირს იგივე რიცხვების მითითება, რაც ჩვენ მივიღეთ პირველ ეტაპზე.
  • გადამისამართება_ური. მისამართი, რომელზეც მომხმარებელი გადამისამართდება. დამოუკიდებელი აპლიკაციებისთვის ეს არის მხოლოდ https://oauth.vk.com/blank.html.
  • ჩვენება. ეს პარამეტრი განსაზღვრავს, თუ როგორ გამოჩნდება შესვლის გვერდი. არსებობს სამი ვარიანტი: გვერდი, ამომხტარი და მობილური. თუ არ ხართ დარწმუნებული, გამოიყენეთ გვერდი.
  • ფარგლები. ამ პარამეტრში თქვენ უნდა ჩამოთვალოთ თქვენთვის საჭირო წვდომის პარამეტრები, გამოყოფილი მძიმეებით. სრული სია ხელმისაწვდომი პარამეტრებიმიცემული შესაბამისი გვერდიდოკუმენტაცია. გთხოვთ გაითვალისწინოთ, რომ თქვენ საერთოდ ვერაფერს მიუთითებთ და უბრალოდ არ დაწერთ ამ პარამეტრს. იმის გასარკვევად, თუ რა წვდომის ვარიანტები გჭირდებათ, გადახედეთ მეთოდის დოკუმენტაციარომლის გამოყენებასაც აპირებთ.
  • პასუხის_ტიპი. ჩვენ ვაზუსტებთ ჟეტონს და გადავდივართ.
  • . API ვერსია. მიმდინარე - 5.59 .

https://oauth.vk.com/authorize?client_id=1&display=page&redirect_uri=http://example.com/callback&scope=friends&response_type=token&v=5.59

ნაბიჯი სამი. რა არის შემდეგი?

http://REDIRECT_URI#access_token= ჟეტონი 3&expires_in= დრო&user_id= ID

ჩვენ გვაინტერესებს ჟეტონი. როგორ მივმართოთ მომხმარებელი Java აპლიკაციის გვერდზე და როგორ მივიღოთ იმ გვერდის მისამართი, რომელზეც VK გადამისამართებს მას (მისგან ჟეტონის ამოღების მიზნით)? არსებობს ორი გზა.

თუ გადაწყვეტთ ამ მარშრუტის გავლას, მაშინ უბრალოდ გახსენით სისტემის ნაგულისხმევი ბრაუზერი ზემოთ მიღებული ბმულით და რატომღაც უთხარით მომხმარებელს, რომ მან უნდა დააკოპიროს ჟეტონი URL-დან და ჩასვას ის ზოგიერთ ველში. ცხადია, ამ მეთოდს აქვს საშინელი UX, მაგრამ მისი განხორციელება შეიძლება სწრაფად და მარტივად. ეს საკმაოდ შესაფერისია, თუ თქვენ წერთ აპლიკაციას თქვენთვის - ჩამოტვირთეთ მუსიკა ან მიიღოთ შეტყობინებები. იგი ხორციელდება შემდეგნაირად:

საჯარო სტრიქონი askToken(სტრიქონის ბმული) აგდებს IOException, URISyntaxException( // ხსნის ბმულს ნაგულისხმევ ბრაუზერში Desktop.getDesktop().browse(new URI(ბმული)); //სთხოვს მომხმარებელს შეიყვანოს ჟეტონი ბრაუზერიდან ხელით დააბრუნოს JOptionPane.showInputDialog(" გთხოვთ, შეიყვანოთ access_token პარამეტრი ბრაუზერიდან: ");)

ბურჟუაზიული, ვებ კომპონენტების მეშვეობით

თუ გადაწყვეტთ ამ მარშრუტის გავლას, მაშინ დაგჭირდებათ მესამე მხარის GUI ბიბლიოთეკის გამოყენება (ან მაინც JavaFX), რომელსაც აქვს საკუთარი ბრაუზერის კომპონენტი თავის არსენალში. თქვენს პროგრამას ექნება სრული ძალაუფლება ასეთ ბრაუზერზე და თქვენ შეძლებთ დაიბრუნოთ მისამართი, რომელზეც VK გადამისამართდით, პროგრამული უზრუნველყოფა. JavaFX-ში ეს შეიძლება განხორციელდეს შემდეგნაირად:

იმპორტი javafx.application.Application; იმპორტი javafx.beans.value.ChangeListener; იმპორტი javafx.beans.value.ObservableValue; იმპორტი javafx.scene.Scene; იმპორტი javafx.scene.web.WebEngine; იმპორტი javafx.scene.web.WebView; იმპორტი javafx.stage.Stage; საჯარო კლასი Main extends Application( public სტატიკური ფინალისტრიქონი REDIRECT_URL = "https://oauth.vk.com/blank.html"; საჯარო სტატიკური საბოლოო სტრიქონი VK_AUTH_URL = ""; //TODO!!!საჯარო სტატიკური სიმებიანი tokenUrl; საჯარო სტატიკური void main(String args)( System.out.println(Main.getTokenUrl()); ) საჯარო სტატიკური სტრიქონი getTokenUrl())( launch(Main.class); return tokenUrl; ) @Override public void start(Stage firstStage ) ისვრის გამონაკლისს ( საბოლოოWebView ხედი

= new WebView();

საბოლოო WebEngine ძრავა = view.getEngine();

engine.load (VK_AUTH_URL);

primarStage.setScene(new Scene(view));

სულ ახლახან დაიხურა სოციალური ქსელი VKontakte, ე.ი. შინაარსი არ იყო ინდექსირებული საძიებო სისტემების მიერ. ვებმასტერებმა მაშინვე ისარგებლეს ამით და გამოიყენეს პარსერები სოციალური ქსელიდან დისკუსიების ამოსაღებად და მათი საიტების შესავსებად. იგივე ეხებოდა პროფილებს - მათგან ინფორმაციაც სოციალურ ქსელში დარეგისტრირებულთა ცოდნის გარეშე იყო აღებული.

შეუძლებელი იყო ასეთი საიტების გაჩენასთან ბრძოლა და VKONTAKTE-ს მფლობელებმა მიიღეს რადიკალური ზომები - მათ გახსნეს სოციალური ქსელი ინდექსაციისთვის. მაშინვე Yandex-სა და Google-ში ათიათასობით ჯგუფი და მილიონობით მომხმარებელი გამოჩნდა. ყველას არ მოეწონა ეს. წარმოიდგინეთ, რომ ვინმემ შეიყვანა თქვენი სახელი და გვარი ძიებაში და მაშინვე წააწყდა VKontakte პროფილს, სადაც ხშირად მითითებულია თითქმის ყველა პერსონალური მონაცემი.

ამიტომ, გადაწყდა, რომ დაემატოს ელემენტი კონფიდენციალურობის პარამეტრებში - „ვისზეც ჩანს ინტერნეტი ჩემი გვერდი" შემდეგი პარამეტრებით:

  • მხოლოდ VKontakte მომხმარებლები
  • ყველა, საძიებო საიტების გარდა

„თუ გვერდს უმალავთ საძიებო საიტები, ის ვერ მოიძებნება ინტერნეტის ძიებაში. მაგალითად, Yandex-ში ან Google-ში. საძიებო სისტემები ინახავს შეგროვებულ მონაცემებს გარკვეული დროის განმავლობაში. ამიტომ, გვერდი გაქრება ძიების შედეგებიდან. მაშინვე არადა შეიძლება ხელმისაწვდომი იყოს საძიებლად ერთ თვემდე.”

ნება მომეცით ცოტა აგიხსნათ. საძიებო სისტემების სიმძლავრის მიუხედავად, შედეგები არ ახლდება დაუყოვნებლივ, არამედ ე.წ. Yandex-ს დაახლოებით 2 კვირა სჭირდება, Google-ს ცოტა ნაკლები. ასე რომ, არ იფიქროთ, რომ როგორც კი დაბლოკავთ ხილვადობას საძიებო სისტემებში, თქვენი გვერდი მაშინვე გაქრება. ვაი, არა.

ყველა ვარიანტი დაყენებულია გვერდზე (https://vk.com/settings?act=privacy) ჩემი პარამეტრები —-> კონფიდენციალურობა (სხვა ჩანართი).



ახლა, როდესაც ცდილობთ თქვენი ინფორმაციის ნახვას, არაავტორიზებული მომხმარებელი დაინახავს შემდეგ შეტყობინებას:



მაგრამ, სამწუხაროდ, VKontakte-ს აქვს ერთი ხარვეზი, რომლის მეშვეობითაც ადამიანი, რომელიც არ არის რეგისტრირებული სოციალურ ქსელში, შეუძლია იპოვოთ სასურველი პროფილი. ქსელები.

თქვენ შეძლებთ ნახოთ ავატარი, ქალაქი, სასწავლო დაწესებულება. მაგრამ როდესაც ცდილობთ სრულ პროფილზე გადასვლას, კვლავ ნახავთ შეცდომას - "გვერდი ხელმისაწვდომია მხოლოდ ავტორიზებული მომხმარებლებისთვის".

ახლა თქვენ იცით, რატომ ჩნდება ეს შეტყობინება. კარგ დღეს გისურვებთ!



რაიმე შეკითხვა?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: