Chcę dodać funkcję do mojej witryny, aby umożliwić użytkownikom wyszukiwanie tekstów za pomocą RegEx
. Ale czy można bezpiecznie pozwolić użytkownikom robić coś takiego?Czy korzystanie z funkcji RegEx użytkownika jest bezpieczne?
preg_match('/' . $user_input_regex . '/', $subject);
Prawdopodobnie będziesz musiał uciec z tego przy użyciu [preg_quote()] (http://www.php.net/manual/en/function.preg-quote.php) i nie jest łatwo przechwycić błędy z wdziękiem, jeśli wejście użytkownika jest zniekształconym wyrażeń regularnych. –
@MarkBaker Ale jeśli uniknę znaków RegEx z preg_quote(), RegEx nie zadziała –
Osobiście ten kod wygląda dobrze dla mnie. Nie jestem ekspertem, ale to polecenie nie może niczego edytować ... Najgorsze, co mogą zrobić, to dać nieudane wyniki. Jednak jest to inna historia, jeśli używasz RegExes od różnych użytkowników. –