J'utilise un script écrit en PHP et JQuery, qui permet de gratter un site Web statique:Comment valider les entrées utilisateur
<?php
if(isset($_GET['site'])){
$f = fopen($_GET['site'], 'r');
$html = '';
while (!feof($f)) {
$html .= fread($f, 24000);
}
fclose($f);
echo $html;
}
?>
La partie Jquery:
$(function(){
var site = $(input).val();
$.get('proxy.php', { site:site }, function(data){
$('#myDiv').append(data);
}, 'html');
});
Comme vous pouvez voir le site Web qui doit être gratté doit avoir une valeur en entrée. Je veux donner à mes visiteurs la possibilité de mettre en place leur propre site web pour être gratté.
Le problème est que je n'arrive pas à comprendre comment sécuriser la partie PHP. Comme je comprends la valeur d'entrée est un gros risque de sécurité, car tout peut être envoyé avec de la valeur. J'ai déjà connu des performances lentes et plusieurs pannes de PC fonctionnant avec ce code. Je ne sais pas si les plantages sont liés mais ils ne se produisent que lorsque je travaille sur le code. Quoi qu'il en soit, je voudrais vraiment savoir comment valider la valeur (de l'entrée) envoyé à mon serveur, seules les URL réelles devraient être à haute voix. Je googlé pour les jours mais je ne peux pas le découvrir (nouveau à PHP)
ps Si vous remarquez d'autres risques de sécurité s'il vous plaît laissez-moi savoir ..
Qu'est-ce que vous espérez atteindre exactement? Que voulez-vous empêcher? –
Si vous autorisez les utilisateurs à rectifier des URL arbitraires, l'ajout de toute sorte de sécurité raisonnable va être un enfer. Vous devriez vous protéger contre les inondations, les délais d'attente, les réponses préjudiciables (par exemple, les trop grosses) ... Pourquoi proposez-vous cela en tant que service public? –
@Pekka Bonjour, je n'ai besoin que de valider l'URL, je pense que cela résoudra le plus grand risque de sécurité. Bien sûr, je ne peux pas sécuriser 100% – Youss