chore: remove antixss extension and rely on proper input escaping
This commit is contained in:
@@ -33,7 +33,6 @@ class AddressType extends AbstractType
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => Address::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,7 +103,6 @@ class AdminFeedbackType extends AbstractType
|
||||
$resolver
|
||||
->setDefaults([
|
||||
'data_class' => Feedback::class,
|
||||
'anti_xss' => true,
|
||||
'validation_groups' => [
|
||||
'Default',
|
||||
'admin',
|
||||
|
||||
@@ -42,7 +42,6 @@ class ApplicationStatusType extends AbstractType
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => ApplicationStatusDto::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,7 +199,6 @@ class AssignmentType extends AbstractType
|
||||
$resolver->setDefaults([
|
||||
'pickup_form_url' => null,
|
||||
'data_class' => Assignment::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,6 @@ class AvailabilityType extends AbstractType
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => Availability::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,6 @@ class BankAccountType extends AbstractType
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => BankAccount::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ class CommunicationType extends AbstractType
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => Communication::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -60,7 +60,6 @@ class DocumentCheckType extends AbstractType
|
||||
'abgelehnt' => Upload::STATUS_REJECTED,
|
||||
],
|
||||
],
|
||||
'anti_xss' => true,
|
||||
])
|
||||
->setRequired(['document_type'])
|
||||
->setAllowedTypes('document_type', 'string')
|
||||
|
||||
@@ -37,7 +37,6 @@ class DriverLicenseCheckType extends AbstractType
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => DriverLicenseCheckDto::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
}
|
||||
@@ -27,7 +27,6 @@ class FaqType extends AbstractType
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => Faq::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,6 @@ class FeeType extends AbstractType
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => Fee::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -73,7 +73,6 @@ class JobProfileType extends AbstractType
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => JobProfile::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +72,6 @@ class TeamerApplicationType extends AbstractType
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => Application::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,6 @@ class TeamerJobProfileType extends AbstractType
|
||||
'job_profiles' => [],
|
||||
'selectable_job_profiles' => [],
|
||||
'admin_mode' => false,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,7 +128,6 @@ class TeamerProfileType extends AbstractType
|
||||
'validation_groups' => [
|
||||
'profile',
|
||||
],
|
||||
'anti_xss' => true,
|
||||
'verification_mode' => false,
|
||||
])
|
||||
->setRequired(['upload_session'])
|
||||
|
||||
@@ -23,7 +23,6 @@ class TrainingType extends AbstractType
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => Training::class,
|
||||
'anti_xss' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user