Script werkt opeens niet meer

Status
Niet open voor verdere reacties.

femke98

Meubilair
Lid geworden
16 dec 2006
Berichten
6.660
Een klant van mij heeft een Wordpress website met daarop een script (gekregen van beleasy) die er voor zorgt dat bij het laden van de pagina je kan zien of zij beschikbaar is op haar 0909 nummer.

Sinds gisteren werkt dat script opeens niet meer. Ik onderhoud haar website, maar ik heb hier niets aan gedaan, niets veranderd.
Wel heb ik de website veilig gemaakt dmv een SSL certificaat.

Het script staat in een widget staat, en dan in een textvak. (zie haar website https://www.trudyhekkert.nl/)
Je ziet dan rechts Beschikbaar met een plaatje met Bel mij, maar de beschikbaarheid is niet te zien.

Omdat ik het raar vond, heb ik een back-up terug gezet van 25 april waarin alles normaal werkte.
Maar dit heeft niet geholpen. (kijk dus even niet naar het SSL gebeuren omdat niet alle pagina's nu veilig zijn ;) )

In de DirectAdmin staat het script in de public_html als status.html en als ik die aanklik, werkt deze.
Ook het opgeslagen script op mijn pc werkt, want als ik deze open via Firefox, zie je haar status.

Waarom werkt het opeens niet in de widget en op de website?
Kan iemand mij helpen?

Het script ziet er zo uit:
Code:
<html>
<head>
  <title>website status</title>
</head>
<body>
<p id="Status" style="color:#d520dd;font-size: 20pt; font-family: Arial" ></p>
<script type="text/javascript"  src="http://www.ivrmanager.nl/xml/status/default.asp?cust=trudyhekkert"></script>
<script>
document.getElementById("Status").innerHTML = status;
</script>
</body>
</html>

Degene van Beleasy die het script heeft gemaakt, zegt dat het bij hun werkt.
Ik neem aan dat hij dat ziet in het belgebeuren en zo. (geen idee hoe dat werkt)

De DA heeft wel een update gehad van de hosting naar PHP 5.6

Willen jullie eens testen met Firefox, Chrome of een andere?
Dank en ik hou mij aanbevolen voor tips of voor de oplossing.

ps. Nu krijg ik van degene van de website opeens een mail dat het niet werkt in Chrome en wel in FF.
Hm.......waarom zegt ze dat niet eerder, had mij een boel werk gescheelt.

Hoe zit dat met Chrome? Het heeft wel altijd gewerkt bij haar in Chrome?
Ik werk er niet mee, dus eh.......wie weet wat?
 
Laatst bewerkt door een moderator:
Je roept hem aan vanaf een SSL-verbinding, terwijl het embedded JavaScript vanaf een onbeveiligde http-verbinding komt.
Dat blokkeren de meeste browsers.

Oplossing:
* SSL uitzetten op die domein, wat niet bevorderlijk is voor Google
* De site van ivrmanager aanschrijven of ze met spoed eens achter SSL gaan zitten, omdat ze niet met de tijd meegaan.
* Een proxy maken met PHP die de content van die URL ophaalt.
 
Laatst bewerkt:
Inderdaad PHP4U, alles nu al gedaan wat jij schrijft.
Ik was er inmiddels ook al achter gekomen.

Ik had gelezen:

*http links in your site to javascript files or stylesheets on other domains*
These will get fixed by Really Simple SSL, but again, if the remote domain does not have an SSL certificate, these files can’t
get loaded over https.
*Included js or css files on other domains, and this domain doe not have an SSL certificate
*If you include files from another domain, this domain also needs to have an SSL certificate.
* *http links in css or js files on other domains
*If the remote files can get loaded over https, but contain hardcoded http links (which happens a lot) mixed content warning are the result.


Het script is niet bestand tegen het SSL gebeuren.

Het antwoord van degene die het script heeft gemaakt en dus geen veilige website hebben was als volgt:

Beste Angela,

Aan onze kant hebben wij geen HTTPS, dus je zult deze URL niet kunnen aanroepen over HTTPS.
Vanuit jullie kant moet je dit gewoon blijven doen over HTTP, dit doen onze andere klanten ook gewoon allemaal.
Ik zou echt niet weten wat ik zou moeten veranderen aan onze kant het ons script.

Met vriendelijke groet,

Kan jij mij uitleggen wat je bedoelt met: Een proxy maken met PHP die de content van die URL ophaalt.
Mij daarbij helpen?
Alvast dank!

ps. heb de mail beantwoord met bovenstaande bevindingen, dus ook dat zij achterlopen en hun klant (betalende belklant) op deze wijze benadelen. Dat zij dit dus moeten oplossen.
 
Laatst bewerkt:
Je kan met file_get_content() ook zelf de waarde ophalen van die URL die je aanroept. Persoonlijk neig ik meer naar een AJAX request te denken.

Verder een kansloos antwoord van hun..
SSL implementeren is niet zo heel lastig meer. Vraag ze eens waarom ze het nog niet ondersteunen.
 
Laatst bewerkt:
Daar heb ik geen kaas van gegeten. Kan jij mij hierbij helpen?
 
Was mij al aan het verdiepen maar het is programmeren, en ik ben geen programmeur.
Wel kwam ik hier op:

Code:
$status = file_get_contents("http://www.ivrmanager.nl/xml/status/default.asp?cust=trudyhekkert");

maar ik weet niet wat ik doe ;)
En waar zet ik het neer?

Zit de hele tijd alles al op te zoeken sinds je post, maar het is een vak apart.

Moet nu naar Putten naar de dierenkliniek.

Maar omdat de maker van het script niet willig is om er wat aan te doen en de klant er wel voor betaald (ze heeft ze al een mail gestuurd met daarin het verzoek om er NU wat aan te doen!), wil ik kijken of ik iets kan betekenen. Maar zoals gezegd, ben geen programmeur.
Dus hulp is echt wel wenselijk. Met alvast een geweldig bedankje van mijn kant ;)
 
Als je nou die code in een PHP-script verwerkt, en de variabele echo'ed. Dan heb je de waarde uit dat JavaScript.
ivr_check.php
PHP:
<?php
$status = file_get_contents("http://www.ivrmanager.nl/xml/status/default.asp?cust=trudyhekkert");
echo $status;
?>

En als je dat script nou netjes aanroept in plaats van de huidige aanroep is het klaar:
Code:
<script type="text/javascript"  src="ivr_check.php"></script>

De clue is gewoon dat je het via PHP inlaadt, en niet direct via de browser.
Maar persoonlijk is een AJAX-request nog toffer. Want als ivrmanager.nl nu eens op zijn gat ligt of behoorlijk traag is, staat die site van je klant daar een tijdje op te wachten. Met AJAX wordt het a-synchroon ingeladen, en dus tegelijkertijd met het laden van de website. Het implementatie-script van ivrmanager.nl loopt gewoon behoorlijk achter in mijn ogen, plus het feit dat ze laks zijn en geen https ondersteunen. Of is dit stukje script door iemand anders gebouwd?

Let even op:
Verder even wat anders, wat ik toch even wou vermelden:
https://tweakers.net/nieuws/126649/...t-vanaf-dit-weekend-geen-extra-geld-meer.html
Misschien niet (meer) relevant. Maar 'better safe than sorry'. ;)
Zou vervelend zijn als ze een flinke boete krijgt van de ACM.
 
Laatst bewerkt:
Terug uit Putten.
Hondje nagekeken, gaat niet zo als ik het wil zien. Maar het moet goed komen.

Dat ivr_check.php zet ik in de WP neem ik aan, waar ook de .htaccess staat en zo en waar ook het script staat.

In het script zet ik dan die andere regel.
Heb ik dat juist?

Wat die boete en ACM betreft, ik begrijp even niet waar de link zit met mij/klant?

Oh wacht, mijn man zegt net dat 0900 nummers niet meer zoveel mogen vragen, maar zij heeft een 0909 nummer. Geen idee of dat ook daarvoor geldt?

https://www.acm.nl/nl/onderwerpen/t...orkomt-de-acm-misbruik-van-informatienummers/ Lijkt van wel.....
 
Laatst bewerkt:
Jep, ze zal alleen lokaal tarief mogen vragen voor haar klanten.

Verder klopt je redenering over het script. Probeer maar uit.
 
Ik denk dat het je wel lukt, en anders horen we het wel.
 
Mail van de belprovider, het is echt schandalig:

Hallo,
Wij kunnen aan onze kant niet zomaar alles omgooien om dat jij een aanpassing hebt gedaan in jouw website. Want dan werkt onze dienst niet meer voor alle andere klanten.
Oplossing is toch echt een php script oid die de content van die URL ophaalt en verder voor jou verwerkt in of achter je website.
Bijvoorbeeld via een cronjob, deze url uitlezen en het resultaat in je database of in een tekst file stopen, en deze uitlezen en tonen tonen op je site.

Met vriendelijke groet,

Als zij dat zo goed weten, waarom maken zij dat dan niet?
Ik ben geen programmeur, de klant betaald hun voor een werkend script.
Ik vind het echt absurd wat hier gebeurd.

Misschien wordt het tijd voor de klant om over te gaan naar een andere belprovider.

Ik heb het hele gebeuren nog niet gedaan PHP4U, hondje was belangrijker.
 
Laatst bewerkt:
Uiteraard gaat je huisdier voor ;)

Over die mail: Het is volkomen onzin wat ze zeggen over het 'omgooien' en dat het voor andere klanten dan niet werkt. Als ze het goed doen accepteren ze zowel http als https, zodat klanten zelf de keuze hebben welke protocol ze willen gebruiken. Kan je dat niet terug mailen? En eventueel vragen of je iemand van de techniek erover kan spreken eventueel? Ik heb een vermoeden dat je met een simpele klantenservice-medewerker aan het mailen bent die geen ervaring heeft met hun server-platform.

En dat verhaal over die cronjob is ook overdreven. Je wilt dit toch real-time uitlezen? ;)

Ze hoeven alleen certificaat aan te schaffen, en dat kan zelfs gratis via Let's Encrypt bijvoorbeeld.
 
Ik heb ze zonet gemaild met wat jij zegt, maar meer in de trant van: als jullie het zo goed weten, waarom maak je je dan niet hard voor je klant? Plus erbij dat ze zelf wel heel erg achterlopen wat betreft zaken die er toe doen in internetland.
En het leuke is dat je opeens een mail terug krijgt met:

Hartelijk dank voor uw e-mail, wij hebben deze in goede orde ontvangen en zullen deze spoedig in behandeling nemen.

Eerst gelijk antwoorden en nu opeens (omdat het hun waarschijnlijk niet aanstaat) zo'n automatisch antwoord.

De klant heeft ze ook al gemaild, verteld dat ik hun probleem moet opknappen en daar uiteraard een rekening voor stuurt.
Dat zij die dan mogen betalen ;)

Ik zal straks even kijken en dan hoor je het gelijk. Heb nu meer te doen, mijn eigen werkzaamheden bijv. ;)
 
In ieder geval helpt een 'proxy' ook, zoals ik je laten zien hebt, maar het zou zeker sieren als ze gewoon http en https zouden gebruiken.
Dan hoeven hun klanten zich niet in allerlei bochten te wringen met eigen oplossingen.
 
File in WP zetten:
Code:
<?php
$status = file_get_contents("http://www.ivrmanager.nl/xml/status/default.asp?cust=trudyhekkert");
echo $status;
?>

Daarna oud script hernoemen:
Code:
<html>
<head>
  <title>website status</title>
</head>
<body>
<p id="Status" style="color:#d520dd;font-size: 20pt; font-family: Arial" ></p>
<script type="text/javascript"  src="http://www.ivrmanager.nl/xml/status/default.asp?cust=trudyhekkert"></script>
<script>
document.getElementById("Status").innerHTML = status;
</script>
</body>
</html>

nieuw script uploaden:
Code:
<html>
<head>
  <title>website status</title>
</head>
<body>
<p id="Status" style="color:#d520dd;font-size: 20pt; font-family: Arial" ></p>
<script type="text/javascript"  src="http://www.ivrmanager.nl/xml/status/default.asp?cust=trudyhekkert"></script>
<script>
$status = file_get_contents("http://www.ivrmanager.nl/xml/status/default.asp?cust=trudyhekkert");
echo $status;
<script type="text/javascript"  src="ivr_check.php"></script>
<script>
document.getElementById("Status").innerHTML = status;
</script>
</body>
</html>

De php en html file, moeten die niet dezelfde naam hebben?

Dan moet het zo lukken? Ik ga het alvast doen. Ik zal het oude script hernoemen, zodat ik altijd terug kan.
Je hoort zo van mij. ;)
 
Laatst bewerkt:
Oké gedaan, maar het werkt niet.

kijk maar op de pagina http://www.trudyhekkert.nl/

screenshots WP:
Naamloos1.jpgNaamloos2.jpg

dus ik doe iets niet goed.

SSL certificaat + plugin gebruikt om alle linken https temaken, want die had ik in mijn FF uitgezet.

Te vroeg gejuicht:
In Chrome werkt het niet.
In FF met SSL aan ook niet.

Het werkte dus wel zonder SSL.
 
Laatst bewerkt:
Je sloopt nu je hele HTML? Ik zie opeens een html,body ergens staan halverwege je site?
Bekijk je HTML-broncode eens.

Ik weet niet wat je aan het doen, bent, maar volgens mij ga je een eigen wijze tegemoet dan ik aandroeg?
En PHP werkt uiteraard niet tussen <script>-tags.

PS: Je sloopt nu een site van een klant, in plaats van dit in testomgeving te proberen.
Als ik iets aan mijn site wil aanpassen, doe ik dit op een testlocatie.
 
Laatst bewerkt:
Ik krijg een mail van de belprovider:

Hallo Trudy,

Zou je de javascript call aanpassen dan? Laat het maar even weten.

<script type="text/javascript" src="cmproxy.php?customername=trudyhekkert"></script>

Resultaat:
var status='Beschikbaar';

Dit is dan de cmproxy.php bij jou lokaal, deze moet je dus even aanmaken.

<?php
$username = $_GET['customername'];
$url = "http://www.ivrmanager.nl/xml/status/default.asp?cust=" . $username;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
$output = curl_exec($ch);
curl_close($ch);
echo $output;
?>


Met vriendelijke groet,

Ik weet niet wat je aan het doen, bent, maar volgens mij ga je een eigen wijze tegemoet dan ik aandroeg?
omdat ik deed wat jij schreef maar dat niet werkte, ging ik wat experimenteren. Het script is dus niet goed door mij gemaakt.

En ik zie de website nog steeds normaal hoor.
Ik heb een oude en nieuwe file aangemaakt.

Ik verwijder dat nu weer. Alles is weer het oude.

Dus graag toch even wat hulp wat betreft dat nieuwe script.

Edit: het werkt.
Gedaan wat zij hebben geschreven en het werkt.

Nou, was dat nou zo moeilijk voor ze? Voor mij in ieder geval wel.

PHP4U, ondanks dat ik het helemaal fout gedaan heb wat jouw tips betrof, toch bedankt voor al je hulp.
Programmeur zijnde is geen makkelijke job, merk ik wel. ;)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan