Domein E-mail & Office Website WP Site Hosting VPS
Ga terug
.com
$ 4.99 $ 26.99 /1ste jaar
.net
$ 9.99 $ 26.99 /1ste jaar
Ga terug
Inloggen
Configuratiescherm Webmail Website Builder Webshop File Manager WordPress

Wat is een 403-error? En hoe los je het op?

Open je jouw website in je browser en krijg je een 403-error te zien? Geen paniek. Een error met 403 klinkt als een grote statusfout, maar je kunt het oplossen. In dit artikel lees je wat een 403-error is, wat de oorzaken zijn en hoe je de statuscode oplost.

Wat is een 403-error?

Een 403 error heet ook wel ‘403 forbidden’, ‘http error 403’ of ‘403-statuscode’. Het is een http-statuscode die je krijgt te zien als de server waarop de website staat het verzoek weigert om de inhoud te laden.

Weetje: Als je website op de juiste wijze laadt, krijg je de 200-statuscode te zien. Deze code houdt in dat het inladen van een pagina of website bij de server met succes is afgerond.

Soorten 403-errors

Er zijn verschillende soorten 403-errors. Hieronder vind je de soorten die het meest voorkomen:

  1. 403 forbidden
    Je krijgt geen toegang tot een website of pagina.
  2. 403 SSL Required
    De server staat alleen beveiligde websiteverbindingen met een SSL-certificaat toe. Je krijgt geen toegang als je een onbeveiligde verbinding gebruikt.
  3. 403 IP Blocked
    De server laat alleen bepaalde IP-adressen toe. Je krijgt geen toegang via een niet-toegestaan IP-adres.
  4. 403 HTTP Method Not Allowed
    De server staat alleen bepaalde http-methoden toe. Je krijgt geen toegang als je een niet-toegestane methode gebruikt.
  5. 403 Invalid Credentials
    Je probeert toegang te krijgen met niet-toegestane referenties.
  6. 403 User Agent Denied
    Je krijgt geen toegang, omdat je een verouderde browser gebruikt die niet meer wordt ondersteund.

    De oorzaken van een 403-statuscode

    Een 403-statuscode kan diverse oorzaken hebben. Bijvoorbeeld:

    • het ontbreken van een index.html- of index.php-bestand;
    • verkeerd ingestelde rechten;
    • een verkeerd geconfigureerd .htaccess-bestand;
    • het bewust weigeren van toegang tot bepaalde content;
    • plugins of extensions die niet compatibel zijn.

    Een 403-error oplossen

    Een 403 forbidden error klinkt als een grote fout. Maar dat is het niet. Gelukkig kun je de error in de meeste gevallen zelf oplossen. Hoe je de 403-error oplost voor de bovenstaande oorzaken, vind je hieronder.

    Een ontbrekend index.html- of index.php-bestand

    Een index.html- of index.php-bestand bevat de belangrijkste content van je website. Als een bezoeker op jouw website terechtkomt, wordt het bestand automatisch geladen als de homepagina van je site. Wanneer dit index.html- of index.php-bestand ontbreekt of er is een fout in de naam gemaakt, dan ontstaat er een 403-error.

    De oplossing

    De oplossing voor deze 403-foutmelding is het toevoegen van een index.html- of index.php-bestand in de ‘root’ (hoofdmap) van je website. Je voegt deze toe via een ftp-programma als FileZilla. Je kunt hiervoor deze handleiding gebruiken. Controleer daarnaast of de naam van de map geen spelfouten bevat en in kleine letters is geschreven. Dit kan namelijk ook een 403-error veroorzaken.

    Verkeerd ingestelde rechten

    Elke map en elk bestand van je website heeft zijn eigen rechten. Met deze rechten geef je aan wie de map of het bestand mag lezen, schrijven en uitvoeren. De rechten worden geuit in 3 cijfers, bijvoorbeeld 644 en 755 voor WordPress-websites

    De oplossing

    Je lost deze 403-error op door via een ftp-programma de rechten van de mappen en bestanden de juiste cijfers te geven. Lukt het niet? Neem dan contact op met onze klantenservice.

    Een verkeerd geconfigureerd .htaccess-bestand

    Draait je website op een Apache-server? Dan heeft je site een .htaccess-bestand. Dit is een bestand met regels waarmee je de server opdrachten kunt geven. Bijvoorbeeld om IP-adressen te blokkeren, redirects aan te maken of foutmeldingen aan te passen. 

    Goed om te weten: Bij one.com draait jouw website op een Apache-server.

    .htaccess aanmaken voor WordPress

    Je kunt het .htaccess-bestand zelf repareren, maar dat is ingewikkeld. In plaats daarvan kun je het best een nieuw .htaccess-bestand aanmaken. Maar je gebruik van WordPress? Volg dan deze stappen:

    1. Maak een back-up van je website.
    2. Verwijder het .htaccess-bestand via ftp.
    3. Log in op je WordPress-website.
    4. Ga in het Dashboard naar ‘Instellingen’ > ‘Permalinks’.
    5. Klik op ‘Wijzigingen opslaan’.
    6. WordPress genereert nu een nieuw .htaccess-bestand voor je.

    .htaccess handmatig aanmaken

    Gebruik je geen WordPress? Dan kun je handmatig een .htaccess-bestand aanmaken. Zo doe je dat:

    1. Open een programma als Kladblok of Notepad++.
    2. Sla een blanco bestand op en noem het ‘.htaccess’.
    3. Upload via ftp het aangemaakte .htaccess-bestand naar de root-folder van je website.

    Plugins of extensions die niet compatibel zijn

    Tot slot kunnen een of meerdere plugins of extensions een 403-error veroorzaken. Bijvoorbeeld als ze niet met elkaar overweg kunnen of als 1 plugin of extension een bug bevat. 

    De oplossing

    Welke plugin of extension de 403-foutmelding veroorzaakt, kun je eenvoudig checken door ze 1 voor 1 uit en in te schakelen. Dit kun je via de backend-omgeving van je website doen of via een ftp-programma. In het laatste geval hernoem je elke keer de plugin of extension totdat je de veroorzaker hebt gevonden. Heb je ‘m daadwerkelijk gevonden? Dan is het verstandig om deze te verwijderen en een alternatief te zoeken. Je kunt ook contact opnemen met de ontwikkelaar van de plugin of extension om een oplossing te zoeken.

    Conclusie

    Je bent aan het eind gekomen van dit artikel. Je hebt geleerd wat een 403-error is en wat de oorzaken zijn. Ook heb je gelezen hoe je een 403-statuscode kunt oplossen. Een 403-foutmelding klinkt als een grote fout, maar met de bovenstaande stappen los je het zelf eenvoudig op.

    Bouw je website op razendsnelle webhosting

    Bouw je website op razendsnelle webhosting

    Maak van je online idee een succes. Host je site op snelle, veilige en betrouwbare servers.

    Aan de slag
    • Gebruiksvriendelijk Control Panel
    • High-performance SSD servers
    • Gratis SSL certificaat
    • Gratis website maker
    • Dagelijkse back-up
    • 24/7 support
    ' html += '
    ' html += '' + ocKeys[locale].allPlans + '' html += '
    ' return html; } function ocGetLocale() { var localString = document.getElementsByTagName('html')[0].getAttribute("lang"); if (!localString) { return "en"; } if (localString.indexOf('-') === -1) { return localString; } return localString.split("-")[0] } function isInViewport(element) { var rect = element.getBoundingClientRect(); return ( rect.top >= 0 && rect.left >= 0 && rect.top <= (window.innerHeight || osShadowElement.documentElement.clientHeight) && rect.right <= (window.innerWidth || osShadowElement.documentElement.clientWidth) ); } function ocLogBuyClick(e) { if (!e.target.classList.contains("onecom_plans_cta_main")) { return; } var parent = e.target.parentNode.parentNode.parentNode.parentNode.parentNode; window.dataLayer.push({ event: "addToCart", ecommerce: { currencyCode: parent.getAttribute("data-currency"), add: { actionField: { list: document.getElementsByTagName('h1')[0].textContent }, products: [ { id: parent.getAttribute("data-title"), name: parent.getAttribute("data-title"), brand: "one.com", category: "pps", variant: parent.getAttribute("data-plan"), location: document.getElementsByTagName('h1')[0].textContent, price: parent.getAttribute("data-price"), quantity: 1 } ] } } }); } function ocLogTrackingInfo(e) { if ((e.getAttribute("data-marked") !== "1") || (!dataLayer)) { return; } e.removeAttribute("data-marked"); if (!e.getAttribute("data-title") || e.getAttribute("data-fresh") !== "1") { return; } console.info("push initiated") window.dataLayer.push({ id: e.getAttribute("data-title"), name: e.getAttribute("data-title"), brand: "one.com", category: "pps", variant: e.getAttribute("data-plan"), list: "/" + ocGetLocale() + "/", location: document.getElementsByTagName('h1')[0].textContent, price: e.getAttribute("data-price"), position: e.getAttribute("data-position") } ); e.setAttribute("data-fresh", "0"); } function ocSetImpression() { var plans = document.getElementsByClassName('oc-plan-container'); for (var i = 0; i < plans.length; i++) { if (isInViewport(plans[i])) { ocLogTrackingInfo(plans[i]); } } } function ocProductImpression(e) { var plans = document.getElementsByClassName('oc-plan-container'); for (var i = 0; i < plans.length; i++) { if (isInViewport(plans[i])) { plans[i].setAttribute("data-marked", "1"); ocTimeout = setTimeout(ocSetImpression, 2000) } } } /* var headingTag = window.location.hash.substr(1); if(headingTag.length > 0){ console.log(headingTag); osShadowElement.querySelector('#'+headingTag).scrollIntoView(); } */ //frontpage function scrollSmooth() { var elmntToView = osShadowElement.querySelector("#oc-plansandprices"); elmntToView.scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" }); } const rightBtn = osShadowElement.querySelector('#right-button'); const leftBtn = osShadowElement.querySelector('#left-button'); if (rightBtn && leftBtn) { rightBtn.addEventListener("click", function (event) { const conent = osShadowElement.querySelector('#content'); conent.scrollLeft += 100; event.preventDefault(); let activeElement = osShadowElement.querySelector(".banner-thumb.active"); if (osShadowElement.querySelector(".banner-menu li:last-child").classList.contains('active')) { osShadowElement.querySelector(".banner-menu li:first-child").click(); } else { if (activeElement.nextElementSibling) { activeElement.nextElementSibling.click(); } } }); leftBtn.addEventListener("click", function (event) { const conent = osShadowElement.querySelector('#content'); conent.scrollLeft -= 100; event.preventDefault(); let activeElement = osShadowElement.querySelector(".banner-thumb.active"); if (osShadowElement.querySelector(".banner-menu li:first-child").classList.contains('active')) { osShadowElement.querySelector(".banner-menu li:last-child").click(); } else { if (activeElement.previousElementSibling) { activeElement.previousElementSibling.click(); } } }); } function nextSlide(thumbClass) { if (thumbClass.length > 0) { var elements = osShadowElement.querySelectorAll(".banner-section"); for (var i = 0, len = elements.length; i < len; i++) { elements[i].style.display = "none"; } var elements = osShadowElement.querySelectorAll(".banner-thumb"); for (var i = 0, len = elements.length; i < len; i++) { elements[i].classList.remove("active"); } var elmntToView = osShadowElement.querySelector('.banner-section-' + thumbClass); elmntToView.scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" }); var menuClicked = osShadowElement.querySelector('.banner-thumb-' + thumbClass); menuClicked.classList.add("active"); menuClicked.scrollIntoView(); osShadowElement.querySelector('.banner-section-' + thumbClass).style.display = "block"; } } const accordionTitlesSuccess = osShadowElement.querySelectorAll(".success-steps-col"); accordionTitlesSuccess.forEach((accordionTitle) => { accordionTitle.addEventListener("click", () => { if (accordionTitle.classList.contains("active")) { accordionTitle.classList.remove("active"); } else { const accordionTitlesWithIsOpen = document.querySelectorAll(".success-steps-col"); accordionTitlesWithIsOpen.forEach((accordionTitleWithIsOpen) => { accordionTitleWithIsOpen.classList.remove("active"); }); accordionTitle.classList.add("active"); } }); }); const accordionTitlesFaq = osShadowElement.querySelectorAll(".faq-col"); accordionTitlesFaq.forEach((accordionTitle) => { accordionTitle.addEventListener("click", () => { if (accordionTitle.classList.contains("active")) { accordionTitle.classList.remove("active"); } else { const accordionTitlesWithIsOpen = document.querySelectorAll(".faq-col"); accordionTitlesWithIsOpen.forEach((accordionTitleWithIsOpen) => { accordionTitleWithIsOpen.classList.remove("active"); }); accordionTitle.classList.add("active"); } }); }); (function () { slide('right'); })(); /***script to call APIs starts here**/ function checkStatus(response) { if (response.status >= 200 && response.status < 300) { return Promise.resolve(response); } else { return Promise.reject(new Error(response.statusText)); } } function parseJson(response) { return response.json(); } function niceRounding(stringDigit) { var lastDigit = stringDigit.at(-1); if (lastDigit == 8) { stringDigit = stringDigit.replace(/.$/, "9"); } return stringDigit; } /***script to call APIs ends here**/ /**Glosssary page***/ function scrollSmoothGlossary(alphabet) { var alphaList = osShadowElement.querySelectorAll(".alphabet-list"); for (let i = 0; i < alphaList.length; i++) { alphaList[i].classList.remove("active"); } var activeAlpha = osShadowElement.querySelector(".alpha-" + alphabet); activeAlpha.classList.add("active"); var elmntToView = osShadowElement.querySelector("#div-" + alphabet); //elmntToView.scrollTop = elmntToView.scrollHeight; elmntToView.scrollIntoView({ behavior: "smooth" }); //elmntToView.scrollTop(elmntToView.scrollHeight); } /**searching**/ const $search = osShadowElement.getElementById('search-glossary'); if ($search) { $search.addEventListener('input', (event) => { const searchText = event.target.value; const regex = new RegExp(searchText, 'gi'); const noSearchDiv = osShadowElement.querySelector(".no-glossary-search-found"); const itemList = osShadowElement.querySelectorAll(".oc-glossary-item-articles"); //const articleList = osShadowElement.querySelectorAll(".item-article"); var mainCount = 0; for (let j = 0; j < itemList.length; j++) { var articleList = itemList[j].querySelectorAll(".item-article"); var countDisplayBlock = 0; for (let i = 0; i < articleList.length; i++) { var h3 = articleList[i].getElementsByTagName("a")[0]; var text = h3.innerHTML; text = text.replace(/(|<\/mark>)/gim, ''); const newText = text.replace(regex, '$&'); h3.innerHTML = newText; if (text !== newText) { articleList[i].style.display = "flex"; countDisplayBlock++; } else { articleList[i].style.display = "none"; } } if (countDisplayBlock === 0) { itemList[j].parentNode.parentNode.style.display = "none"; } else { itemList[j].parentNode.parentNode.style.display = "flex"; mainCount++; } } if (mainCount === 0) { noSearchDiv.classList.remove("hidden"); } else { noSearchDiv.classList.add("hidden"); } }); } var select = osShadowElement.getElementById('alphabet-mobile-select'); if (select) { select.onchange = function () { var alphabet = this.options[this.selectedIndex].value; this.options[this.selectedIndex].classList.add('active'); scrollSmoothGlossary(alphabet); //var elmntToView = osShadowElement.querySelector("#" + alphabet); //elmntToView.scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"}); }; } var glossaryHeader = osShadowElement.getElementById("glossary-header"); var glossaryStickyHeader = osShadowElement.getElementById( "glossary-header-sticky" ); // Get the offset position of the navbar if (glossaryHeader) { var sticky = glossaryHeader.offsetTop; } var glossarySearch = osShadowElement.querySelector(".oc-glossary-search"); // Add the sticky class to the navbar when you reach its scroll position. Remove "sticky" when you leave the scroll position function stickyAlphabets() { if (window.pageYOffset > sticky) { glossaryHeader.classList.add("hidden"); glossaryStickyHeader.classList.remove("hidden"); glossaryStickyHeader.style.zIndex = "99999"; glossarySearch.classList.add("hidden"); } else { glossaryHeader.classList.remove("hidden"); glossaryStickyHeader.classList.add("hidden"); glossarySearch.classList.remove("hidden"); } } /** HIGHLIGHT ALPHABET NAVIGATION LINKS WHILE SCROLLING */ // cache the navigation list-items containing links var navigationLinks = osShadowElement.querySelectorAll('#glossary-header-sticky > .glossary-header-alphabets > ul > li'); // cache the alphabet sections var sections = osShadowElement.querySelectorAll('.oc-glossary-item > div > span.item-head'); // map each target section ID to the corresponding navigation list-items var sectionIdToNavigationLink = {}; for (var i = 0; i < sections.length; i++) { var id = sections[i].id; sectionIdToNavigationLink[id] = osShadowElement.querySelectorAll('#glossary-header-sticky > .glossary-header-alphabets > ul > li.alpha-' + id); } function getOffset(el) { var _x = 0; var _y = 0; while (el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) { _x += el.offsetLeft - el.scrollLeft; _y += el.offsetTop - el.scrollTop; el = el.offsetParent; } return { top: _y, left: _x }; } function highlightNavigation() { // get the current vertical position of the scroll bar var scrollPosition = window.pageYOffset || document.documentElement.scrollTop; // iterate the sections for (var i = sections.length - 1; i >= 0; i--) { var currentSection = sections[i]; // get the position of the section var sectionTop = getOffset(currentSection).top; // if the user has scrolled over the top of the section if (scrollPosition >= sectionTop - 250) { // get the section id var id = currentSection.id; // get the corresponding navigation link var navigationLink = sectionIdToNavigationLink[id]; // if the link is not active if (typeof navigationLink[0] !== 'undefined') { if (!navigationLink[0].classList.contains('active')) { // remove .active class from all the links for (i = 0; i < navigationLinks.length; i++) { navigationLinks[i].className = navigationLinks[i].className.replace(/ active/, ''); } // add .active class to the current link navigationLink[0].className += (' active'); } } else { // remove .active class from all the links for (i = 0; i < navigationLinks.length; i++) { navigationLinks[i].className = navigationLinks[i].className.replace(/ active/, ''); } } // we have found our section, so we return false to exit the each loop return false; } } } if (glossaryHeader) { window.addEventListener('scroll', highlightNavigation); } /** Glossary page ends here**/ /** NL frontpage modification - version 2.0 **/ // Get the HTML element you need. const imageOverlay = osShadowElement.getElementById('testimonial-video-section-block-image-overlay'); const playButton = osShadowElement.getElementById('testimonial-video-section-block-play'); if (playButton) { var vidId = playButton.getAttribute("data"); // Add the event listener for the play button. playButton.addEventListener('click', play) } // The function that is called when the button is clicked. function play(e) { e.preventDefault(); let iframe_tag = osShadowElement.getElementById('ytplayer'); iframe_tag.setAttribute('src', 'https://www.youtube.com/embed/' + vidId + '?autoplay=1&enablejsapi=1&origin=http%3A%2F%2Flocalhost&widgetid=1'); imageOverlay.style.opacity = '0'; playButton.style.opacity = '0'; window.setTimeout(function () { playButton.style.display = 'none'; imageOverlay.style.display = 'none'; }, 800); // timed to match animation-duration } // Glossary page navigationbar issue fix Start let elemWebTopMenu = document.querySelector(".WebTop-Nav"); let elemWebTopSearch = document.querySelector(".MegaMenuAndSearchWrapper"); let elem = document.querySelector("#glossary-header-sticky"); if (elem && ( elemWebTopMenu || elemWebTopSearch ) ) { let rect = elem.getBoundingClientRect(); let elemTop = rect.top; let elemBottom = rect.bottom; let rectWebTop = elemWebTopMenu.getBoundingClientRect(); let elemTopWebTop = rectWebTop.top; let elemBottomWebTop = rectWebTop.bottom; let rectWebTopSearch = elemWebTopSearch.getBoundingClientRect(); let elemTopWebTopSearch = rectWebTopSearch.top; let elemBottomWebTopSearch = rectWebTopSearch.bottom; if ( ( elemBottomWebTopSearch >= elemTop ) || ( elemBottomWebTop >= elemTop ) ) { elem.style.zIndex = 200; } else { elem.style.zIndex = 0; } document.addEventListener('scroll', function() { let rect = elem.getBoundingClientRect(); let elemTop = rect.top; let elemBottom = rect.bottom; let rectWebTop = elemWebTopMenu.getBoundingClientRect(); let elemTopWebTop = rectWebTop.top; let elemBottomWebTop = rectWebTop.bottom; let rectWebTopSearch = elemWebTopSearch.getBoundingClientRect(); let elemTopWebTopSearch = rectWebTopSearch.top; let elemBottomWebTopSearch = rectWebTopSearch.bottom; if ( ( elemBottomWebTopSearch >= elemTop ) || ( elemBottomWebTop >= elemTop ) ) { elem.style.zIndex = 200; } else { elem.style.zIndex = 0; } }); } let glossaryNav = document.querySelector("#glossary-header-sticky"); let topSearchBarGloss = document.querySelector(".MegaMenuAndSearchWrapper"); let navSpacer = document.querySelector(".NavSpacer"); if ( glossaryNav && topSearchBarGloss) { topSearchBarGloss.style.position = 'static'; navSpacer.style.display = 'none'; } // Glossary page navigationbar issue fix End /******* Custom YouTube video embed js start *******/ let yt_thumb_wraps = document.querySelectorAll('.yt-video-wrapper.yt-play-icon'); if (yt_thumb_wraps) { yt_thumb_wraps.forEach(yt_thumb_wrap => { yt_thumb_wrap.addEventListener("click", function(event) { event.preventDefault(); let vid = event.target.dataset.vid; let yt_thumb = event.target; let vtitle = yt_thumb.getAttribute("title"); if(!vid){ yt_thumb = yt_thumb.querySelector('.yt-thumb-image'); vid = yt_thumb.dataset.vid; vtitle = yt_thumb.getAttribute("title"); } if(vid && yt_thumb){ let ytvideo = ''; let yt_thumb_wrap = yt_thumb.closest('.yt-video-wrapper.yt-play-icon'); yt_thumb_wrap.innerHTML = ytvideo; yt_thumb_wrap.classList.remove("yt-play-icon"); } }); }); } /******* Custom YouTube video embed js end *******/