Door
Ariën
op 09-05-2017 12:28
gewijzigd op 09-05-2017 12:36
4.673 views
Om een XML-feed op te halen van een bepaalde site, gebruik ik deze code. Echter, de website is sinds kort overgeschakeld op SSL, en sindsdien krijg ik het script niet meer aan de praat.
Ik krijg vanuit cURL steeds de melding: Peer's Certificate issuer is not recognized.
Wat moet ik nu doen? Ik heb al gekeken naar CURLOPT_SSL_VERIFYPEER op 0, maar lijkt ook geen soelaas te bieden.
curl_setopt($ch, CURLOPT_VERIFYPEER, 0);
Vreemd genoeg krijg ik dit terug? Terwijl het toch echt een constante is. Dat kent hij blijkbaar hier niet :/ Notice: Use of undefined constant CURLOPT_VERIFYPEER - assumed 'CURLOPT_VERIFYPEER' in
De situatie zijnde wat? Hoeveel tijd je aan een klus mag spenderen? Hoe erg het is wanneer je applicatie niet veilig is? Hoe lui iemand zich op dat moment voelt en maar bochten afsnijdt in plaats van zijn/haar werk fatsoenlijk te doen? Hoe professioneel een programmeur daadwerkelijk is of hoeveel verstand van zaken iemand eigenlijk heeft?
Zijn er voorbeelden waarin certificaten niet werken? En wat is daar dan de oorzaak van?
Als je niet kunt rechtvaardigen om CURLOPT_SSL_VERIFYPEER niet te gebruiken dan zou je dat niet moeten doen.
- Ariën - op 09/05/2017 13:43:21
Dat zou ook een goed idee zijn. Eens in verdiepen!
Het licht eraan wat er over de lijn gaat. In deze situatie zie ik dit even als een quick-fix. Als het gevoelige informatie was had ik het wel ingrijpender aangepakt, maar een paar treintijden uit een API, dat kan geen kwaad als iemand het zou sniffen. Bij een volgende update zal het wel goedkomen.
Misschien wil je dit antwoord nog wat nuanceren dan, voor het geval andere mensen zoeken naar een oplossing en niet verder kijken dan deze "oplossing".
Daar heb jij al een link over geplaatst met een oplossing. ;-)
Ik ga niet graag zomaar zonder het uitgeprobeerd te hebben beschrijven hoe het wel moet.
Ik ga niet graag zomaar zonder het uitgeprobeerd te hebben beschrijven hoe het wel moet.
Maar je zou wel kunnen aangeven dat het uitzetten van een identiteitscheck nou niet bepaald verstandig is. Het hele idee van HTTPS / SSL is toch dat je in een veilige omgeving informatie uitwisselt? Een controle of je dat ook daadwerkelijk met de juiste partij doet lijkt mij daar onderdeel van. HOE je dat vervolgens doet is een tweede.
Het gaat hier (wederom) meer over de vorm van het advies die leidt tot een oplossing en niet zozeer over de (of een specifieke) oplossing zelf. Je moet kunnen onderbouwen waarom je de dingen doet die je doet. Heb je in jouw geval niet direct deze controle nodig, soit. Dit blijkt niet uit je oorspronkelijke vraagstelling. Lijkt me wel een kanttekening waard.