2010-04-19 3 views
2

Как часть нашей системы мы включаем пользователя в backoffice, чтобы добавить блок из 301 переадресации, если это необходимо. Это всего лишь текстовое поле, которое затем заполняет определенную область файла .htaccess. Насколько это может показаться небезопасным, он только ранее использовался внутренне людьми, которые знают, что они делают, но по разным причинам они не могут получить доступ к определенному файлу. Нам нужно теперь предоставить больше доступа к этой функции, а не для широкой публики, но для людей, которые, вероятно, имеют гораздо меньше знаний о регулярном выражении и т. Д. И синтаксисе в файлах htaccess. Очевидно, что главная проблема здесь заключается в том, что пользователь вводит какой-то плохой синтаксис и делает весь свой сайт, включая backoffice, где они могут исправить эту проблему, полностью недоступен без ручного вмешательства. Какие подходы я могу предпринять, чтобы убедиться, что они не сломают свой сайт? Проверка синтаксиса htaccess? скопируйте файл в другое место и проверьте, не генерирует ли ошибка 500 (с cURL или аналогичным) ?. Приветствую любые идеи.Предотвращение ошибки синтаксиса .htaccess

Спасибо.

+1

вся идея пугает меня до смерти –

+0

ха-ха, да. сравните его с идеей предоставления сторонним пользователям FTP доступа к вашему серверу! – robjmills

+0

Возможно, ваш новый скрипт может просто отправить письмо человеку, который использует ваш существующий скрипт, чтобы попросить их ввести перенаправления. –

ответ

1

Для гениальных пользователей вы должны создать инструмент, который принимает данные только для конкретной задачи, проверяет его и добавляет в htaccess.

+0

его трудно учитывая, что 301 правила переписывания могут сильно различаться – robjmills

+0

Они не могут сильно отличаться «массово». Они должны быть на одной линии и в двух частях с ожидаемым форматом для обеих частей. Вы можете по крайней мере разделить значение вашего текстового поля на новые символы линии и убедиться, что две части соответствуют формату. Я предполагаю, что большинство ошибок, с которыми вы столкнетесь, будут либо людьми, которые нарушают работу на нескольких линиях, либо людьми, которые полностью неправильно понимают формат, поэтому, хотя правила могут быть очень разными, некоторые простые правила (и обеспечение правильного префикса на каждом линия) будет иметь большое значение. – Tom

+0

@ Тома, это правда - это не полностью отказоустойчиво, но будет улучшением – robjmills

Смежные вопросы