შეუძლია PHP cURL-ს ვიზიტორის IP-ის გამოყენება?
ახსენით, რომელი მანქანა ხსნის სერვერის მხრიდან cURL კავშირს და რა უნდა შეცვალოს პროქსიმ ამ მარშრუტის შესაცვლელად.
ვიზიტორი ღილაკს აჭერს. თქვენი PHP სერვერი გარე API-ს იძახებს. API ხედავს სერვერის გამავალ კავშირს, ან ამ კავშირისთვის კონფიგურირებული პროქსის გასასვლელს. ვიზიტორის ბრაუზერი ცალკე კავშირს ამუშავებს თქვენს საიტთან.
ვიზიტორის მისამართის ჰედერში კოპირება ვერ გადაიტანს PHP კავშირს ვიზიტორის ქსელში. ჰედერები არის მონაცემები, რომლებიც უკვე დამყარებული კავშირით იგზავნება. დანიშნულების მხარემ შეიძლება გამოიყენოს სანდო გადამისამართების ჰედერი საკუთარი აპლიკაციის ლოგიკაში, მაგრამ ეს ჰედერის მნიშვნელობას კავშირის წყაროს მისამართად არ აქცევს.
პროქსიმ კავშირი უნდა მიიღოს
PHP cURL-ის სხვა მანქანით გასაგზავნად იმ მანქანამ უნდა შესთავაზოს ხელმისაწვდომი პროქსი სერვისი მოთხოვნის ტარების ნებართვით. PHP პროცესს უნდა შეეძლოს მასთან დაკავშირება. ვიზიტორის ჩვეულებრივი ბრაუზერის სესია თქვენს სერვერს ასეთ ზოგადი დანიშნულების პროქსი ბოლო წერტილს არ აძლევს.
libcurl-ის პროქსის ვარიანტი ირჩევს სერვისს, რომელსაც cURL უკავშირდება. მას არ შეუძლია ნებისმიერ ბრაუზერს სთხოვოს მოთხოვნის თავის ნაცვლად დაწყება.
ბრაუზერიდან მოთხოვნა სხვა დიზაინია
ზოგიერთი API-სთვის ბრაუზერს შეუძლია დანიშნულების პირდაპირ გამოძახება. ეს მოთხოვნას მომხმარებლის ქსელურ გზაზე აყენებს, მათი საკუთარი პროქსის კონფიგურაციის მიხედვით. ეს ასევე მოითხოვს ბრაუზერის კლიენტებისთვის შექმნილ API-ს. წყაროებს შორის წვდომა CORS-ს მიჰყვება, ხოლო ბრაუზერის კოდზე გაგზავნილი სერტიფიკატები ამ კლიენტისთვის ხელმისაწვდომი ხდება.
გადაწყვიტეთ, სად ეკუთვნის მოთხოვნა, პროქსის ვარიანტის არჩევამდე. შეინახეთ სერვერის სერტიფიკატები სერვერზე; გამოიყენეთ დოკუმენტირებული ბრაუზერის ინტეგრაცია, როცა სერვისი მას მხარს უჭერს. არც ერთი დიზაინი არ გვთავაზობს საიმედო მოკლე გზას იმისთვის, რომ სერვერის მოთხოვნამ ვიზიტორის ქსელური იდენტობა დაიმკვიდროს.