- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, уважаемые форумчане.
На сайте есть url'ы вида:
В .htaccess есть такое правило:
Подскажите, пожалуйста, что нужно предпринять, что бы нельзя было открыть страницу
следующим образом:
Вообщем, что бы только по такого рода запросу открывать страница: [цифры] одно тире [буквы, цифры, точки] одно тире после чего одна буква [цифры]
[0-9]+ - означает что адрес должен заканчиваться на цифры(одна или больше).
никак не победить, article.name - это ж тоже хз что в транслите, а в базу делается запрос по id 123? вместо точек ведь тоже можно ставить любую абракатабру?
В .htaccess есть такое правило:
Что-то я сомневаюсь в правильности этого правила
после преобразования uri будет иметь вид
dir/?category=category&article=123-article.name-p123
RewriteRule ^dir/([\w-]+)/([\w\d-]+\.\w+)$ dir/?category=$1&article=$2
Милованов Ю.С, спасибо за совет, но не помогло.
foxi, у меня еще есть проверка внутри скрипта.
$id=mysql_real_escape_string($_GET['article']);
$q="SELECT * FROM articles WHERE id='$id'";
$a=mysql_fetch_array(mysql_query($q));
$article=$a['id'].'-'.strtolower($a['name']).'-p'.$a['num'];
if($article==$_GET['article']){...}else echo '404';
И самое интересное, что если ввести, например,
то откроется 404, но если ввести
то страница
открывается без ошибок.
Как это предотвратить?
P.S. Кстати $_GET['article'] почему-то отбрасывает последние точки. И еще, если поставить в конце какой-нибудь другой символ вместо точки, то откроется 404.
siv1987, к сожалению, не помогло.
[0-9]+-[a-zA-Z_]?\.[a-zA-Z_]?-[a-zA-Z][0-9]+
вот, приблизительно, такой забор.
Вот так написал
Не помогло. Опять же точки в конце пропускает.
Это ж кто такое придумал?
Сначала селект непонятно чего, затем проверка с непонятно чем
$_GET['article'] = 123-article.name-p123
Select с таким id
а затем..!
$article=$a['id'].'-'.strtolower($a['name']).'-p'.$a['num'];
Не... тут трезвому не придумать такого.
И это работает?
Сам сейчас удивляюсь как я такое написал, и самое главное, что работает.
А полностью показать htaccess?
RewriteRule ^dir/([a-zA-Z-]+)/([0-9-]+-[\.a-zA-Z0-9-]+-p[0-9]+)$ [L]