What is the best way to monitor and record the URLs called by device to establish or monitor browsing history?
Use OpenDNS as your upstream DNS server on your router.
How it works:
Every device that uses this router will get it's DHCP lease from the router, which will say send me all your DNS queries. The router will forward them all to the OpenDNS servers.
You can then log into their web portal to set parental controls.
Benefits:
- Quick, simple, effective
- No new hardware/software to setup
- Captures HTTPs traffic.
https://www.opendns.com/home-solutions/parental-controls/
VK321
Updated on September 18, 2022Comments
-
VK321 almost 2 years
I am working on swift 3 application and want to build login system using REST API. First I wanted a way to post data to server (PHP + MYSQL) with parameters so I found this post.
HTTP Request in Swift with POST method
Now I wanted place this code in a method as helper so I can utilise this method from anywhere in app. Hence followed this way:
Where to put reusable functions in IOS Swift?
Current code is as follow:
import Foundation class Helper { static func postData(resource: String, params: [String: String]) -> [String:String] { var request = URLRequest(url: URL(string: "http://localsite.dev/api/\(resource)")!) request.httpMethod = "POST" var qryString: String = "?key=abcd" for (paramKey, paramVal) in params { qryString = qryString.appending("&\(paramKey)=\(paramVal)") } request.httpBody = qryString.data(using: .utf8) let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data, error == nil else { print("Error") return } if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { print("Error on HTTP") return } let responseString = String(data: data, encoding: .utf8) print("success and here is returned data \(responseString)") } task.resume() return ["data" : "some data"] } }
Call this using
let loginDetails: [String: String] = ["email": emailTxt.text!, "pass": passTxt.text!] Helper.postData(resource: "login", params: loginDetails)
In above method rather then printing data I want to return data as per below 4 conditions.
1.If error in request data then I want to return as
[“status”: false, “message”: “Something wrong with request”]
2.If error in HTTP request
[“status”: false, “message”: “Resource not found”]
3.If login fail
[“status”: false, “message”: “Wrong login details”]
4.If login success
[“status”: true, “message”: “Login success”]
-
Chris S about 12 years"I know that Xfinity does record this information" - I strongly doubt Xfinity gives two hoots about your browsing habits unless you specifically ask them to. In any case, home questions are off-topic on Server Fault and this will be migrated to our sister site Super User. If you're interested in setting up a proxy server between your network and the Internet I highly recommend the DansGuardian and Squid combo. There are of course commercial products that can accomplish the same thing.
-
Fran about 12 years@DesiraeTilford You do realize that you won't see the content of any HTTPS connections those browsers make (including the URLs they request, but you will see the remote IP addresses to which they connect)? Unless you do some hacking on the browsers themselves you can't see the URLs in HTTPS connections.
-
John Watson about 12 yearsThis is a good guide: howtogeek.com/68886/…. You'll need some technical chops to deal with the logs your router makes.
-
Paulw11 over 7 yearsYou will need to pass a completion handler closure to your function and have the completion handler of the task invoke that handler to get the values back to your caller
-
VK321 over 7 yearsHi again @Paulw11.. Could you please give me example? Sorry bit new to iphone development and swift.
-
-
VK321 over 7 yearsCan you give me example on my code.. when i replace print message with completion(true, message) i get error.