Es-que PHP peut exécuter du code javascript?

Fermé
Maser_5399 Messages postés 3 Date d'inscription vendredi 29 novembre 2019 Statut Membre Dernière intervention 29 novembre 2019 - 29 nov. 2019 à 18:19
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 29 nov. 2019 à 19:14
Salut, je voudrais savoir si PHP tu peut exécuter du code javascript, je m'explique, j'aurais besoin de savoir si une page html ou php fait une redirection en javascript

J'ai tester avec cURL et file_get_contents et après plusieurs test je me suis rendue compte que cURL lit simple le javascript mais l'exécute pas

Après vous allez me dire pourquoi tu n'utilise pas un preg_match_all et tu regarde si il y a pas de code javascript qui fait une redirection .

Le problèmes c'est que je ne peut pas basé sur le code html car sa ne correspondras pas à mes attentes

Pour ceux qui n'ont pas très compris se que je voudrais faire je vous met un exemple


<!DOCTYPE html>
<html>
<head>
	<title>Test cURL</title>
	<meta charset="utf-8">
</head>
<body>
<script>document.location.href="https://www.google.fr";</script>
</body>
</html>


En faite voudrez savoir si cette page fait une redirection en javascript mais sans me basé sur le code html
et je voudrez aussi récupérer l'URL de google


J'ai essayer ceci en PHP mais sauf PHP me retourne l'URL de ma page html, mais moi dans se cas la je voudrez récupérer l'URL de google sans me basé sur code html, car pour mon project je ne pourrais pas me baser sur le code html

<?php


$URL = 'http://192.168.1.39/cURL_test.html';


$ch = curl_init($URL);

	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
	curl_setopt($ch, CURLOPT_URL, $URL);
   

curl_exec($ch);
$info = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
curl_close($ch);



echo $info; 

J'espère que vous aurez compris un peut pret se que je veut faire,
merci,
au revoir
A voir également:

2 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
29 nov. 2019 à 18:40
bonjour, pourquoi n'expliques-tu pas ce que tu veux réaliser? veux-tu faire du web scraping de sites utilisant javascript?
0
Maser_5399 Messages postés 3 Date d'inscription vendredi 29 novembre 2019 Statut Membre Dernière intervention 29 novembre 2019
Modifié le 29 nov. 2019 à 18:45
Salut, tu était presque mais c'est pas ça ou presque, je veut faire un scanneur en php de URL, exemple :
127.0.0.1/menbres.php?query=<svg/onload=document.location.href="https:\\\\www.google.frt"> Je veut savoir si mon javascript à était exécuté par ma page via php, sauf curl ne l'exécute pas :/
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
29 nov. 2019 à 18:45
Bonjour
Pour fonctionner, le javascript a besoin d'être exécuté dans un environnement capable de le faire.
L'environnement en question.. c'est le navigateur web.
Le PHP, que tu utilises du CURL, du WGET... ne pourra pas exécuter le code JS.
Je ne connais pas, à ce jour, de méthode pour le faire.

Il ne te reste qu'à parser le contenu du html récupéré via ton appel CURL et y détécter ( à l'aide d'expressions régulières ) la présence de code du type document.location , window.location ...etc...


0
Maser_5399 Messages postés 3 Date d'inscription vendredi 29 novembre 2019 Statut Membre Dernière intervention 29 novembre 2019
Modifié le 29 nov. 2019 à 18:51
Salut, merci de ta réponse, je ne sais pas si tu a vue le message juste au dessus, je cherche à faire un scanneur en php, et en passant par le code html regarder si le script est passer sa marcheras 1 fois sur deux, sinon comment je peut faire ? comment je peut reproduire cette environnement ? sans php
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > Maser_5399 Messages postés 3 Date d'inscription vendredi 29 novembre 2019 Statut Membre Dernière intervention 29 novembre 2019
29 nov. 2019 à 19:14
Toi également as tu vu (et lu) la réponse que je t'ai faite ?
Tout particulièrement la ligne
Je ne connais pas, à ce jour, de méthode pour le faire
0