{"action":"closed","issue":{"url":"https://api.github.com/repos/abc-cms/abc-cms/issues/14","repository_url":"https://api.github.com/repos/abc-cms/abc-cms","labels_url":"https://api.github.com/repos/abc-cms/abc-cms/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/abc-cms/abc-cms/issues/14/comments","events_url":"https://api.github.com/repos/abc-cms/abc-cms/issues/14/events","html_url":"https://github.com/abc-cms/abc-cms/issues/14","id":67548585,"number":14,"title":"404","user":{"login":"abc-cms","id":6348599,"avatar_url":"https://avatars.githubusercontent.com/u/6348599?v=3","gravatar_id":"","url":"https://api.github.com/users/abc-cms","html_url":"https://github.com/abc-cms","followers_url":"https://api.github.com/users/abc-cms/followers","following_url":"https://api.github.com/users/abc-cms/following{/other_user}","gists_url":"https://api.github.com/users/abc-cms/gists{/gist_id}","starred_url":"https://api.github.com/users/abc-cms/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abc-cms/subscriptions","organizations_url":"https://api.github.com/users/abc-cms/orgs","repos_url":"https://api.github.com/users/abc-cms/repos","events_url":"https://api.github.com/users/abc-cms/events{/privacy}","received_events_url":"https://api.github.com/users/abc-cms/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2015-04-10T09:11:13Z","updated_at":"2016-10-05T09:17:25Z","closed_at":"2016-10-05T09:17:25Z","body":"есть две проблемы со страницами 404\r\n1. несуществующие урл должны всегда возвращать 404\r\nнапример /novosti/1-novost/bla-bla/ должна возвращать 404 так как третьего уровня вложенности в новостях нет\r\nэтот вопрос решается так\r\n<pre>//одна запись\r\nif ($u[2]) {\r\n\tif ($u[3]=='' AND $news = mysql_select(..) {\r\n\t\t..\r\n\t}\r\n\telse $error++;\r\n}\r\n//список записей\r\nelse {\r\n\t..\r\n}</pre>\r\n2. вторая проблема - несуществующие $_GET запросы\r\nтак сейчас страница с урл /?porno=fuck вернет просто главную страницу 200\r\nесли подобные ссылки злоумышленник намеренно разместит в сети и они проиндексируются гуглом, то сайт может попасть под фильтры\r\nтакая практика уже довольно популярна\r\nсейчас у нас есть\r\n- пагинатор в новостях и в магазине\r\n- фильтр поиска в каталоге\r\n- удаление товара из корзины\r\n- восстановление пароля\r\nполучается для каждого модуля, если в нем используются гет параметры, то нужно их перечислять в глобальной переменной\r\nа в основном index.php смотреть, если используются неразрешенные гет параметры то возвращать 404 или другой какой-то код\r\nно это не решит проблему, если в разрешенный гет параметр будет передано ложное значение, например /?brand=porno - ключ brand разрешен но его значение нет\r\nвот тут пока не знаю что придумать, чтобы это сильно не усложняло код\r\nполучается так же нужно придумать способ для обработки значений параметров гет, и если они ложные то предпринимать соотвествующие действия "}}
{"actor":{"display_login":"abc-cms"}}