chore: remove antixss extension and rely on proper input escaping

This commit is contained in:
Björn Fromme
2026-03-15 12:42:28 +01:00
parent f21b8229e4
commit 317142afc9
22 changed files with 3 additions and 324 deletions
-1
View File
@@ -33,7 +33,6 @@ class AddressType extends AbstractType
{
$resolver->setDefaults([
'data_class' => Address::class,
'anti_xss' => true,
]);
}
}
-1
View File
@@ -103,7 +103,6 @@ class AdminFeedbackType extends AbstractType
$resolver
->setDefaults([
'data_class' => Feedback::class,
'anti_xss' => true,
'validation_groups' => [
'Default',
'admin',
-1
View File
@@ -42,7 +42,6 @@ class ApplicationStatusType extends AbstractType
{
$resolver->setDefaults([
'data_class' => ApplicationStatusDto::class,
'anti_xss' => true,
]);
}
}
-1
View File
@@ -199,7 +199,6 @@ class AssignmentType extends AbstractType
$resolver->setDefaults([
'pickup_form_url' => null,
'data_class' => Assignment::class,
'anti_xss' => true,
]);
}
}
-1
View File
@@ -32,7 +32,6 @@ class AvailabilityType extends AbstractType
{
$resolver->setDefaults([
'data_class' => Availability::class,
'anti_xss' => true,
]);
}
}
-1
View File
@@ -32,7 +32,6 @@ class BankAccountType extends AbstractType
{
$resolver->setDefaults([
'data_class' => BankAccount::class,
'anti_xss' => true,
]);
}
}
-1
View File
@@ -30,7 +30,6 @@ class CommunicationType extends AbstractType
{
$resolver->setDefaults([
'data_class' => Communication::class,
'anti_xss' => true,
]);
}
}
-1
View File
@@ -45,7 +45,6 @@ class ContactType extends AbstractType
$resolver
->setDefaults([
'data_class' => Contact::class,
'anti_xss' => true,
])
->setRequired(['upload_session'])
->setAllowedTypes('upload_session', UploadSessionDto::class)
-1
View File
@@ -60,7 +60,6 @@ class DocumentCheckType extends AbstractType
'abgelehnt' => Upload::STATUS_REJECTED,
],
],
'anti_xss' => true,
])
->setRequired(['document_type'])
->setAllowedTypes('document_type', 'string')
-1
View File
@@ -37,7 +37,6 @@ class DriverLicenseCheckType extends AbstractType
{
$resolver->setDefaults([
'data_class' => DriverLicenseCheckDto::class,
'anti_xss' => true,
]);
}
}
-42
View File
@@ -1,42 +0,0 @@
<?php
namespace App\Form\Extension;
use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\Extension\Core\Type\FormType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\OptionsResolver\OptionsResolver;
use voku\helper\AntiXSS;
class AntiXssExtension extends AbstractTypeExtension
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
parent::buildForm($builder, $options);
if (true === $options['anti_xss']) {
$builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
$data = $event->getData();
$antiXss = new AntiXSS();
foreach ($data as $key => $value) {
$data[$key] = $antiXss->xss_clean($value);
}
$event->setData($data);
});
}
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'anti_xss' => false,
]);
}
public static function getExtendedTypes(): iterable
{
return [FormType::class];
}
}
-1
View File
@@ -27,7 +27,6 @@ class FaqType extends AbstractType
{
$resolver->setDefaults([
'data_class' => Faq::class,
'anti_xss' => true,
]);
}
}
-1
View File
@@ -32,7 +32,6 @@ class FeeType extends AbstractType
{
$resolver->setDefaults([
'data_class' => Fee::class,
'anti_xss' => true,
]);
}
}
-1
View File
@@ -41,7 +41,6 @@ class FeedbackType extends AbstractType
$resolver
->setDefaults([
'data_class' => Feedback::class,
'anti_xss' => true,
])
->setRequired(['feedback_set'])
->setAllowedTypes('feedback_set', FeedbackSet::class)
-1
View File
@@ -73,7 +73,6 @@ class JobProfileType extends AbstractType
{
$resolver->setDefaults([
'data_class' => JobProfile::class,
'anti_xss' => true,
]);
}
}
-1
View File
@@ -72,7 +72,6 @@ class TeamerApplicationType extends AbstractType
{
$resolver->setDefaults([
'data_class' => Application::class,
'anti_xss' => true,
]);
}
}
-1
View File
@@ -76,7 +76,6 @@ class TeamerJobProfileType extends AbstractType
'job_profiles' => [],
'selectable_job_profiles' => [],
'admin_mode' => false,
'anti_xss' => true,
]);
}
}
-1
View File
@@ -128,7 +128,6 @@ class TeamerProfileType extends AbstractType
'validation_groups' => [
'profile',
],
'anti_xss' => true,
'verification_mode' => false,
])
->setRequired(['upload_session'])
-1
View File
@@ -23,7 +23,6 @@ class TrainingType extends AbstractType
{
$resolver->setDefaults([
'data_class' => Training::class,
'anti_xss' => true,
]);
}
}
+2 -2
View File
@@ -167,9 +167,9 @@ class AppRuntime implements RuntimeExtensionInterface
$list = '<ul class="'.$class.'">';
foreach ($items as $item) {
$list .= '<li>'.$item.'</li>';
$list .= '<li>'.htmlspecialchars($item, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8').'</li>';
}
$list .= '<ul>';
$list .= '</ul>';
return $list;
}