Via react native maak ik een app. De inloggegeven sla ik op bij de database van mijn webhosting. Hiervoor heb ik een api in php geschreven en die draait nu ook in productie bij hostnet. Als ik de app test (via google chrome) en de signup gegevens invul krijg ik deze foutmelding. De http heb ik onherkenbaar gemaakt.
Access to fetch at 'http//..........login.php' from origin 'http://localhost:*******' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
Als lake weet ik niet zo goed wat ik nu moet doen. Na een paar dagen zoeken via google krijg ik zoveel zoekresultaten/vragen/oplossingen dat ik 'door de bomen het bos niet meer zie'. Veel CORS foutmeldingen lijken op elkaar en antwoorden zijn vaak verschillend.
Oplossingen die ik zelf gevonden heb:
- Kan/moet ik CORS policy uitschakelen? volgens mij mag dat niet ivm beveiliging
- Moet ik nog een server in de frontend maken met node.js? Is dit voor mij van toepassing?
- Moet ik een CORS plugin installeren voor google Chrome? (volgens mij los ik het probleem hiermee niet op)
- In de file index.php moet ik het onderstaande zetten met een paar aanpassingen. (ik heb alleen db.php, signup.php en login.php)
Ik heb de info in de link doorgelezen maar dat is voor mij nog erg technisch. Hierdoor begrijp ik nog niet helemaal wat je bedoeld. De php scripts heb ik in de map httpdocs staan, ik zie geen .htaccess.
In DEVTOOLS staat ook deze error: "POST" http://.......login.php net::ERR_FAILED
Betekent dit dat ik POST moet toestaan?
Zou ik dan het onderstaande in login.php moeten zetten?
"Als je jan-en-alleman een request wilt laten doen"
Bedoel je hiermee dat dit ook een oplossing is voor een signin/registratie pagina van een app.
Of wil je hiermee aangeven dat de beveiliging van je database dan zo lek als een mandje is.
De reden dat ik deze vraag stel op dit forum is omdat ik geen kennis heb van php, ajax request, CORS etc. Ik probeer een app te ontwikkelen waarvoor ik een database nodig heb. React-native, Kotlin, java, python talen begrijp ik redelijk maar dit totaal niet.
"Ga zelf eens na of www.randomdomeinvaniemand.nl ook een aanroep mag doen naar je scripts via een AJAX-request."
Lijkt me niet, maar het zegt me ook niks. Zou je me willen helpen om het werkend te krijgen?
Dat is inderdaad wel makkelijker. Ik heb de tekst naar het Nederlands vertaalt maar ik blijf nog wel met een aantal vragen zitten. Wanneer iets onder Simple Request valt begrijp ik niet helemaal maar dat heb ik voorlopig ook niet nodig. Klopt het dat ik de https van mijn client/app bij 'Access-Control-Allow-Origin' moet zetten. Moet ik dan een eigen proxy maken met bijv Heroku -> en de https van deze proxy bij 'Access-Control-Allow-Origin' zetten?
'http://localhost:******* lijkt me niet goed als ook andere gebruikers zich willen registeren.
Volgens mij moet ik de poort bij http://localhost:... zetten.
Weet je waar ik die kan vinden? Ik dacht dat het de eerste twee zijn, maar ik krijg steeds dezelfde Cors foutmelding.