2016-04-23 14 views
0

Also verwende ich einen TCP-Socket, um Daten im laufenden Betrieb zu liefern, es ist extrem reaktionsschnell und ermöglicht es, die Dateien eines Rechners ohne Zugriff auf den eigentlichen Rechner anzuzeigen.Sicherer Weg, um Text aus einem Socket auszugeben.

So zum Beispiel der Text wir über dem Sockel dienen würde:

This book is a treatise on the theory of ethics, very popular during 
the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit 
amet..", comes from a line in section 1.10.32.;?> <?php die("malicious"); ?> 

Die Frage der Ausgang der beste Weg, dies durchzuführen, wird hallt, diese Dateien realistisch alles enthalten können, aber sie werden in den Stream gelesen und dann auf eine Seite gedruckt werden. (hoffentlich im Klartext)

Derzeit verwende ich strip_tags am Ausgang.

echo strip_tags($output); 

Ist dies eine sicher genug Methode, etwas zu verhindern, dass in diesen Dateien befinden können, sind sie nicht ausgeführt wird, gerade gelesen, so dass der Text Hygiene ist die einzige hier wirkliche Bedeutung.

Vielen Dank.

+0

Sie könnten 'htmlentities()' verwenden, um Sonderzeichen in Entitäten zu konvertieren, s werden sie wörtlich angezeigt, anstatt als HTML gerendert zu werden. – Barmar

Antwort

1

Sie könnten

header('Content-type: text/plain'); 

am Anfang des Skripts senden. Der Browser sollte dann nicht versuchen, die Ausgabe des Skripts als HTML darzustellen.

Oder wenn diese Ausgabe in eine Seite eingebettet ist, die HTML enthält, können Sie sie in Entitäten konvertieren, sodass sie nicht als HTML gerendert wird.

echo htmlentities($output);