Order Allow,Deny или Deny,Allow??? / Хабр
Конфигурировал CUPS, в процессе возникла непонятка с директивой Order, которая устанавливает порядок чтения из директив Allow и Deny. На apache.ru есть об этом информация, но не полная и с опечаткой/ошибкой. Я перевёл статью с httpd.apache.org + спроецировал материал на локальные сети. Авось пригодится кому-нить.Итак, директива Order, вместе с директивами Allow и Deny, контролирует трёх-шаговую систему контроля доступа. Первый шаг обрабатывает или все директивы Allow, или все директивы Deny. Второй шаг разбирает оставшуюся директиву (Deny или Allow). Третий шаг принимает все запросы, которые не соответствуют ни первой, ни второй.
Обратите внимание, что все директивы, Allow и Deny, обрабатываются, нетипично поведению сетевых экранов (firewall), где используется только первая директива. Результирующим является последнее соответствие (также нетипично поведению сетевых экранов).
Order Deny,Allow
Deny from all
Allow from 192.168.1.*
В данном примере, если пытаться следовать логике firewall, запрет доступа реализован для всех хостов, и разрешение 192.168.1.* не сработает, в то время, как в соответствии с принципами рассматриваемых конфигурационных файлов apache (в том числе cupsd.conf) доступ хостам из подсети 192.168.1.* разрешён.
Дополнительно, порядок, в котором строки следуют в конфигурационном файле не существенен — все строки Allow выполняются как единая группа, все строки Deny, соответственно, как другая группа, и умолчательное состояние рассматривается отдельно.
Порядок может быть одним из:
Сперва, проверяются все директивы Allow; по крайней мере одна должна соответствовать, или запрос отвергается. Далее, провеляются все директивы Deny. Если какие-либо соответствуют, то запрос отвергается. Вконце, любой запрос, который не соответствует директиве Allow или Deny отвергается по умолчанию.
Deny,Allow
Сперва, проверяются все директивы Deny; если какая-либо соответствует, то запрос отвергается, если нет соответствия в директиве Allow. Любой запрос, который не соответствует директиве Allow или Deny пропускается.
Ключевые слова могут быть разделены только запятой, никакие пробелы между ними не допустимы.
Соответствие | Результат Allow,Deny | Результат Deny,Allow |
---|---|---|
Соответствует только Allow | Запрос разрешён | Запрос разрешён |
Соответствует только Deny | Запрос отклонён | Запрос отклонён |
Нет соответствий | По умолчанию действует вторая директива: отклонён | По умолчанию действует вторая директива: разрешён |
Соответствуют обе Allow & Deny | Управляет конечное соответствие: отклонён | Управляет конечное соответствие: разрешён |
В нижеприведённом примере, всем хостам в подсети 192.168.1.* доступ разрешён.
Order Deny,Allow
Deny from all
Allow from 192.168.1.*
В следующем примере, всем хостам из подсети 192.168.1.* доступ разрешён, за исключением хостов 192.168.1.5 и 192.168.1.24, всем другим хостам из других подсетей доступ запрещён, т.к. для сервера состояние по умолчанию Deny, отказать в доступе.
Order Allow,Deny
Allow from 192.168.1.*
Deny from 192.168.1.5
Deny from 192.168.1.24
С другой стороны, если порядок в директиве Order в последнем примере поменять на
Оригинал
Какие-то моменты могут быть непонятны после первого прочтения, однако, их тщательный разбор, шаг за шагом, не оставит у изучающего сомнений. Всё логически верно.
You can choose to allow or deny the site to display notifications, and Opera will remember your choice for future visits to that site. | Вы можете разрешить или запретить отображение уведомлений — Opera будет использовать ваш выбор и при последующих посещениях этого сайта. |
To always allow or deny sites exclusive access to your MIDI devices. | Чтобы разрешить или запретить монопольный доступ к вашим устройствам MIDI во всех случаях, выполните следующие действия. |
You can choose to allow or deny access to your location, and Opera will remember your choice for future visits to that site. | Вы можете разрешить или запретить доступ к данным о вашем местонахождении, и Opera запомнит ваш выбор для последующих посещений этого сайта. |
Другие результаты | |
Diend and his KamenRide Card summoned Riotroopers allow for Den-O and Decade to regroup, and allow for Decade to get the Den-O Cards. | Даже учебный материал для железнодорожной бригады в Ft Eustis полностью пропускает Bull Run, чтобы сосредоточиться на железнодорожной феерии Хукера. |
I suppose this means I ought to be banned, but I did htink that Vandalism, especially obviosu Vandalism designed to denegrate others, would be allowed ot be reverted. | Я предполагаю, что это означает, что я должен быть запрещен, но я не думал, что вандализм, особенно очевидный вандализм, предназначенный для того, чтобы уничтожить других, будет разрешен. |
Mao’s death allowed for Deng Xiaoping’s return from disgrace and internal exile. | Смерть Мао позволила Дэн Сяопину вернуться из опалы и внутренней ссылки. |
In the 1990s, Deng forced many of the conservative elders such as Chen Yun into retirement, allowing radical reforms to be carried out. | В 1990-е годы Дэн вынудил многих консервативных старейшин, таких как Чэнь Юнь, уйти на пенсию, позволив провести радикальные реформы. |
Due to the influence of Dengism, Vietnam and Laos have also adopted this belief, allowing Laos to increase its real GDP growth rate to 8.3%. | Благодаря влиянию Денгизма Вьетнам и Лаос также приняли это убеждение, позволив Лаосу увеличить свой реальный темп роста ВВП до 8,3%. |
An integer overflow in koffice-libs allows for a Denial of Service and possibly the execution of arbitrary code when viewing malicious PowerPoint files. | Целочисленное переполнение в koffice-libs позволяет вызвать отказ в обслуживании и возможности выполнения произвольного кода при просмотре специальным образом подготовленных файлов PowerPoint. |
In September 2016, a security bug was discovered that allowed any unprivileged user to perform a denial-of-service attack against systemd. | В сентябре 2016 года была обнаружена ошибка безопасности, которая позволила любому непривилегированному пользователю выполнить атаку отказа в обслуживании против systemd. |
Many government agencies allow people seeking benefits from those agencies to request reconsideration of the denial of a claim to such a benefit. | Многие государственные учреждения позволяют людям, ищущим выгоды от этих учреждений, обращаться с просьбой о пересмотре отказа в предоставлении такой выгоды. |
For example, they may allow for privilege escalation or create denial-of-service attack vectors. | Например, они могут разрешить эскалацию привилегий или создать векторы атак типа отказ в обслуживании. |
If a person does something, it is a denial of natural justice not to allow him to explain his reasons. | Если человек что-то делает, то это отрицание естественной справедливости, не позволяющее ему объяснить свои причины. |
All the following methods must be used in fashions allowing their plausible denial at any time. | Все нижеследующие методы должны быть использованы в модах, допускающих их правдоподобное отрицание в любое время. |
He is denied all means of communications with the outside world and not allowed to consult his own doctor. | Его лишили всех средств связи с внешним миром и не позволяли обратиться к лечащему врачу. |
Park Chang-hee had been allowed to meet with his lawyers and family without restriction and had himself denied having been tortured or mistreated. | Парку Чанг-Хи было разрешено встречаться со своими адвокатами и родственниками без каких-либо ограничений, и он сам заявил о том, что он не подвергался пыткам или жестокому обращению. |
Why should millions of little things come into it only to be tortured and so denied-to be allowed to die from want, cold, starvation? | — Неужели миллионы крошечных существ рождаются лишь ради мук и унижения — чтоб умереть от нужды, холода и голода? |
President Jackson, who denied such a right, prepared to sign a Force Bill allowing the federal government to use military action to enforce the tariff. | Президент Джексон, который отрицал такое право, готовился подписать законопроект О применении силы, позволяющий федеральному правительству использовать военные действия для обеспечения соблюдения тарифа. |
All three petitions for writs of habeas corpus were denied, allowing for the right to appeal. | Все три ходатайства о выдаче предписаний habeas corpus были отклонены, что давало право на апелляцию. |
On July 29, 1975, Judge Dupree denied his double jeopardy and speedy trial arguments and allowed the trial date of August 18, 1975 to stand. | 29 июля 1975 года судья Дюпре отклонил его доводы о двойной опасности и быстром судебном разбирательстве и разрешил дату судебного разбирательства 18 августа 1975 года. |
and vbportal is denied since they are a commercial site.. Again, if you allow them, then vbseo. | и vbportal отказано, так как они являются коммерческим сайтом.. Опять же, если вы позволите им, то vbseo. |
Mother Jones refused to allow anyone to read the document, and the President’s secretary denied ever having sent one. | Матушка Джонс никому не разрешала читать этот документ, а секретарь президента отрицал, что когда-либо посылал его. |
Roxburgh denied the request, stating that CAHA rules do not allow en masse transfers between provincial associations. | Роксбург отклонил эту просьбу, заявив, что правила Каха не допускают массовых переводов между провинциальными ассоциациями. |
The request for an injunction was denied by the court, allowing treatment to continue pending a full hearing into the matter. | Ходатайство о вынесении судебного запрета было отклонено судом, что позволило продолжить лечение до полного слушания этого дела. |
The judge refused to allow this to be admitted in court as evidence and denied Wuornos’ request for a retrial. | Судья отказался признать это в суде в качестве доказательства и отклонил ходатайство Уорноса о пересмотре дела. |
Sihanouk asked to be allowed to travel to China, citing the need for medical treatment, although this was denied. | Сианук попросил разрешить ему поехать в Китай, сославшись на необходимость медицинского лечения, хотя в этом ему было отказано. |
You do wrong to get angry, muttered Gringoire. One obtains a respite; that does no harm to any one, and allows the midwives, who are poor women, to earn forty deniers parisis. | Вы зря горячитесь,- проворчал Гренгуар.-Добились бы отсрочки, вреда это никому не принесло бы, а повитухи, бедные женщины, заработали бы сорок парижских денье. |
However the fencing of land within a registered common is not allowed, as this is a form of enclosure and denies use of the land to others. | Однако ограждение земли в пределах зарегистрированного общего владения не допускается, так как это является формой ограждения и запрещает использование земли другим лицам. |
‘I’ve just heard — people are saying they’ve made an agreement with Petlyura to allow all Russian-manned units to keep their arms and to go and join Denikin on the Don. . . .’ | Сейчас передавали, что будто с Петлюрой заключено соглашение, — выпустить все русские части с оружием на Дон к Деникину… |
Stretch denim, with anywhere from 2% to 4% spandex, may be used to allow jeans to have a super-slim fit. | Эластичный деним, содержащий от 2% до 4% спандекса, может быть использован для того, чтобы джинсы имели супер-тонкую посадку. |
A haplotype of EPAS1, likely introgressed into Tibetans from Denisovans, allows them to live at high elevations in a low-oxygen environment. | Гаплотип EPAS1, вероятно, интрогрессированный в тибетцев от денисовцев, позволяет им жить на больших высотах в среде с низким содержанием кислорода. |
Exemption will allow TAP AG to enter into long term ship-or-pay gas transportation agreements with the shippers of Shah Deniz II gas. | Освобождение позволит TAP AG заключать долгосрочные соглашения о транспортировке газа с грузоотправителями Шахдениз II на условиях корабль-или-оплата. |
We must attempt to blend, so that we will be allowed to move freely as denizens. | Надо попробовать смешаться с жителями планеты, тогда мы сможем свободно передвигаться. |
The two fight to gain control over the Valkyrie while the Defenders destroy Pluto’s temple, allowing his denizens of the dead to pour through to Earth. | Эти двое сражаются, чтобы получить контроль над Валькирией, в то время как защитники разрушают храм Плутона, позволяя его обитателям мертвых проникнуть на Землю. |
There are 16 counties in Denmark, and in each county about 4-5 people are allow to work on data related to that specific county. | В Дании насчитывается 16 округов, и в каждом округе четырем-пяти лицам предоставлено право работать с данными, относящимися к их округу. |
Right now, the people of Denmark are working on a biometric computer superstructure which will allow people all around the world to identify the trolls in their communities. | Прямо сейчас жители Дании возводят биометрический компьютерный суперцентр, который позволит людям всего мира устанавливать личности местных троллей. |
They were stationed in Denmark to allow the garrison there to move into France, but were brought forward at the beginning of August to the area south and east of Paris. | Они были размещены в Дании, чтобы позволить тамошнему гарнизону перебраться во Францию, но в начале августа были переброшены в район к югу и востоку от Парижа. |
Some of this is also due to that Denmark also allows single women to be inseminated. | Отчасти это объясняется тем, что Дания также разрешает оплодотворять одиноких женщин. |
Some of this is also due to the fact that Denmark also allows single women to be inseminated. | Отчасти это связано с тем, что Дания также разрешает оплодотворять одиноких женщин. |
Look, Dennings team forged expert reports that allowed him to slip by FDA approval. | Слушайте, команда Деннинга сфабриковала отчет который позволил ему добиться одобрения ФДА. |
Dennis Fackler was allowed to recover from a bronchial infection, and he took the test again six weeks later. | Дэннис Фэклер поправился после бронхиальной инфекции и смог пересдать экзамен спустя три недели. |
He became a favorite of military theorist Dennis Hart Mahan and was allowed to teach classes while still a cadet. | Он стал любимцем военного теоретика Денниса Харта Махана и был допущен к преподаванию еще будучи курсантом. |
I know of no Denomination that allows such Communion, though I would suspect that most follow the Roman Catholic rejection of the Apostolic practice. | Я не знаю ни одной деноминации, которая допускала бы такое общение, хотя подозреваю, что большинство из них следует римско-католическому неприятию Апостольской практики. |
Priests of any denomination are allowed to have beards if their religion requires it, but it still has to be trimmed and well groomed. | Священникам любой конфессии разрешается иметь бороду, если этого требует их религия, но она все равно должна быть подстрижена и ухожена. |
This allows the visually impaired to distinguish notes with the use of a hand-held device that tells the note’s denomination. | Это позволяет слабовидящим людям различать банкноты с помощью ручного устройства, которое сообщает номинал банкноты. |
Each denomination had assets that allowed it to thrive on the frontier. | Каждая деноминация имела активы, которые позволяли ей процветать на границе. |
They only allow non-denominational literature in the lobby. | В вестибюле они разрешают только не религиозную литературу. |
Oraynu has its own Jewish section in a non-denominational cemetery which offers both burial plots and cremation spaces, and allows interment with a non-Jewish partner. | У орайну есть своя Еврейская секция на неконфессиональном кладбище, которая предлагает как места для захоронения, так и места для кремации, и позволяет похоронить с нееврейским партнером. |
On the other hand, other Lutherans practice varying degrees of open communion and allow preachers from other Christian denominations in their pulpits. | С другой стороны, другие лютеране практикуют различные степени открытого общения и допускают проповедников из других христианских конфессий на свои кафедры. |
Some Protestant Christian denominations prohibit the drinking of alcohol based upon Biblical passages that condemn drunkenness, but others allow moderate use of alcohol. | Некоторые протестантские христианские конфессии запрещают употребление алкоголя, основываясь на библейских отрывках, осуждающих пьянство, но другие допускают умеренное употребление алкоголя. |
Negative denominators are allowed, but are commonly avoided, as every rational number is equal to a fraction with positive denominator. | Отрицательные знаменатели допускаются, но обычно их избегают, так как каждое рациональное число равно дроби с положительным знаменателем. |
No special uniform was allocated for petty officers, although some Royal Navy ships allowed such persons to don a simple blue frock coat to denote their status. | Для младших офицеров не было выделено никакой специальной формы, хотя на некоторых кораблях Королевского флота таким людям разрешалось надевать простой синий сюртук, чтобы обозначить свой статус. |
Denote this move B. You then realize that move B allows your opponent to force checkmate in two moves. | Обозначьте этот ход B. Затем вы поймете, что ход B позволяет вашему противнику поставить мат в два хода. |
The term is adopted from golf, where an out of bounds marker denotes the area beyond which playing is not allowed. | Этот термин заимствован из гольфа, где маркер out of bounds обозначает область, за пределами которой играть запрещено. |
Civilian gun ownership is allowed by law but discouraged by authorities, with regular press statements and campaigns denouncing the dangers of possessing firearms. | Гражданское владение оружием разрешено законом, но не поощряется властями, с регулярными заявлениями в прессе и кампаниями, осуждающими опасность владения огнестрельным оружием. |
To ascertain which solution is most used to allow for dense pedestrian traffic in urban centres. | Для определения наиболее часто используемого решения, позволяющего создать условия для интенсивного пешеходного движения в городских центрах. |
Argon is 42% more dense than nitrogen and would allow a higher-density atmosphere at a pressure a bit lower than 10 bar. | Аргон на 42% процента плотнее азота и может обеспечить более плотную атмосферу при давлении немного ниже 10 бар. |
At the edge of the ridge was a dense thicket which allowed the Northern troops to come in and form on the Mule Shoe. | На краю хребта были густые заросли, которые позволили войскам северян прийти и закрепиться на выступе Мьюл-Шу. |
A metal dense enough to keep pilots safe from ground fire but still allow for flight. | Металла, достаточно плотного, чтобы защитить пилотов от наземного огня, но достаточно легкий, чтобы подняться с земли. |
All colors are allowed except black, the coat is dense and wooly in texture. | Допускаются все цвета, кроме черного, шерсть плотная и шерстистая по фактуре. |
Блокировка файлов и папок через .htaccess по IP-адресу
Как вы уже наверное догадываетесь, первое что я хочу заблочить, это папка wp-admin в WordPress.
Поэтому кидаем в неё файл .htaccess, кстати через Windows его создать не удастся, используйте какой-нибудь блокнот, например Notepad++.
Теперь насчёт содержимого файла. Первый, самый простой вариант:
order deny, allow deny from all
Доступ к админке будет закрыт абсолютно для всех. Пока .htaccess будет цел и невредим, попасть туда просто невозможно.
Но ведь тогда, каждый раз, перед тем, как зайти в админку, придется править файл через FTP — не очень удобно, верно? Поэтому в следующем примере разрешим доступ вашему IP-адресу:
order deny, allow deny from all allow from 174.204.33.33
Для тех, у кого динамический IP:
order deny, allow deny from all allow from 174.204.33. allow from 175.205. allow from 177.177.177.
Также вы можете просто заблокировать какие-то конкретные, «недоброжелательные» айпишники или диапазоны.
order allow, deny deny from 173.175.11.12 deny from 173.32.1. allow from all
Если вдруг так получится, что на вашем хостинге нифига не работает и в админку по-прежнему каждый может спокойно попасть, попробуйте вот такой видоизмененный код:
<limit GET> satisfy any order deny, allow deny from all allow from 174.204.33. allow from 175.205. allow from 177.177.177. require valid-user </limit>
И под конец скроем все файлы .htaccess от посторонних глаз. Обратите внимание, что этот код нужно закинуть в .htaccess, находящийся в корневой директории сайта.
<Files .htaccess> order deny, allow deny from all </Files>
Миша
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школах Epic Skills и LoftSchool.
Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!
deny%20allow — с английского на русский
dɪˈnaɪ гл.1) отрицать;
отвергать;
не признавать существование( чего-л.) to deny the charge ≈ отвергать обвинение to deny categorically, emphatically, fervently, flatly, strongly, vehemently ≈ категорически отвергать It is hard to deny that Bob is a good man. ≈ Трудно отрицать, что Боб хороший парень. She does not absolutely deny the possibility of a miracle. ≈ Она не отрицает полностью возможности чуда. Spinoza did not deny the existence of God. ≈ Спиноза не отрицал существования Бога. Syn: contradict, gainsay Ant: assert, maintain
3) отказываться, отрекаться He could not deny his own hand and seal. ≈ Он не мог отказаться от своей подписи и печати. Syn: disown, disavow, repudiate, renounce
1.
4) отказывать( в чем-л., кому-л.) We may not deny them the ancienty of their descent. ≈ Мы не можем отказать им в древности их происхождения. Syn: refuse I
отвергать — to * the possibility of smth. отрицать возможность чего-л. — to * a theory отвергнуть теорию — to * a rumour опровергнуть слух — to * charges отвести /отмести/ обвинения — to * the truth of the statement /that the statement is true/ утверждать, что заявление не соответствует действительности — to * that smb. has talent отказывать кому-л. в таланте — to * this to be the case утверждать, что дело обстоит иначе — it cannot be denied that нельзя не признать, что — he denied having done it он утверждал, что не делал этого — I don’t * that he is clever не спорю, он умен — there is no *ing it нельзя отрицать этого отрицать существование;
принести себя в жертву детям отпираться, отказываться, брать назад — to * one’s signature отказываться от своей подписи — to * one’s words отказываться от своих слов отрекаться, отступаться — to * one’s faith отречься от своей веры (книжное) не допускать, мешать, препятствовать — to * oneself to callers не принять посетителей /гостей/;
сказаться больным — to * smb. admission отказать кому-л. от дома — to * the door to smb. не принять кого-л., отказаться принять кого-л. (логика) утверждать противное deny брать назад ~ мешать ~ не допускать;
she denied herself to visitors она не приняла гостей;
he was denied admission его не впустили ~ не допускать ~ отвергать ~ отказывать(ся) ;
to deny a request отказать в просьбе;
to deny oneself every luxury не позволять себе ничего лишнего ~ отказывать ~ отказываться ~ отклонять ~ отпираться, отказываться, брать назад;
to deny one’s signature отказываться от своей подписи;
to deny one’s words отказываться от своих слов ~ отпираться ~ отрекаться ~ отрицать;
to deny the charge отвергать обвинение ~ отрицать ~ препятствовать ~ утверждать противное ~ отказывать(ся) ;
to deny a request отказать в просьбе;
to deny oneself every luxury не позволять себе ничего лишнего ~ отпираться, отказываться, брать назад;
to deny one’s signature отказываться от своей подписи;
to deny one’s words отказываться от своих слов ~ отпираться, отказываться, брать назад;
to deny one’s signature отказываться от своей подписи;
to deny one’s words отказываться от своих слов ~ отказывать(ся) ;
to deny a request отказать в просьбе;
to deny oneself every luxury не позволять себе ничего лишнего ~ не допускать;
отказывать в приеме (гостей) ;
she denied herself to visitors она не приняла гостей;
he was denied admission его не впустили ~ не допускать;
отказывать в приеме (гостей) ;
she denied herself to visitors она не приняла гостей;
he was denied admission его не впустили
Ограничение доступа к сайту через Nginx
Закроем доступ к файлам, которые могут вызывать повышенный интерес:
location ~ /.svn/ {
deny all;
}
Можно разрешить/запретить доступ к файлам лишь с определенных ip-адресов, используя директивы allow и deny:
location /server-status {
allow 111.111.111.111;
allow 11.11.11.11;
deny all;
}
Также для разграничения доступа к файлам можно использовать директивы auth_basic и auth_basic_user_file — в этом случае пользователю необходимо будет ввести логин/пароль для доступа:
location /admin/ {
auth_basic "Enter password to access";
auth_basic_user_file /etc/nginx/basic.auth;
}
Также можно комбинировать эти два способа:
location /admin/ {
satisfy any;
allow 111.111.111.111;
allow 11.11.11.11;
deny all;
auth_basic "Enter password to access";
auth_basic_user_file /etc/nginx/basic.auth;
}
Защититься от запросов к несуществующим файлам на Nginx можно так:
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
try_files $uri =404;
}
После перезапускаем Nginx одной из команд:
systemctl reload nginx
service nginx reload
В зависимости от определенного IP-адреса Nginx может выполнять такие действия, как перенаправление:
location / {
if ($remote_addr != 111.111.111.111) {
return 301 https://$host$request_uri;
}
}
- в данном примере мы перенаправляем всех посетителей по пути https://$host$request_uri, кроме запросов с IP-адреса 111.111.111.111.
Защиту от перебора паролей можно организовать c использованием iptables:
Блокирование IP на время, если количество запросов в секунду превышает какое-либо разумное количество
iptables -A INPUT -p tcp --syn --dport 80 -i eth0 -m state --state NEW
-m recent --name bhttp --set
iptables -A INPUT -p tcp --syn --dport 80 -i eth0 -m state --state NEW
-m recent --name bhttp --update --seconds 120
--hitcount 360 -j DROP
iptables -A INPUT -p tcp --syn --dport 80 -i eth0 -j ACCEPT
Как в htaccess запретить доступ по IP диапазону
Как в .htaccess работает блокировка по IP
Если вас интересует, как заблокировать доступ по IP к сайту нежелательным личностям, спамерам и прочим, то вам надо создать или отредактировать файл .htaccess и воспользоваться синтаксисом Order Allow,Deny
либо Order Deny,Allow
. Между ними есть разница:
Order Allow,Deny
Сначала обработаются разрешающие правилаAllow
, потом запрещающиеDeny
, а всё, что не попадает под них, будет запрещено;Order Deny,Allow
Сначала будут обработаны запрещающие правилаDeny
, потом разрешающиеAllow
, а все, что не попадут под них, будут разрешены по умолчанию.
Обратите внимание на синтаксис, никаких лишних пробелов, иначе можно вызвать ошибку
500 Internal Server Error
Если это касается всего сайта, файл создаётся в корне, если нужно закрыть лишь определённую его часть, например, админку, файл .htaccess
должен располагаться непосредственно в этом разделе.
Ну, и конечно же, ваш сервер (бекенд или рабочий) должен быть Apache. Если ваш рабочий сервер NGINX + php-fpm, то править придётся конфигурационный файл nginx.
Забанить спамера по IP диапазону
Order Deny,Allow Deny from 192.168.1.1
Это был пример того, как забанить IP (192.168.1.1) спамера, не закрывая доступа всем остальным. Ещё можно пропустить последний октет IP-адреса, Deny from 192.168.1
, тогда будут забанены все пропущенные IP адреса. Однако, вы же понимаете, статичный IP блокировать глупо, он, скорее всего, динамический, поэтому мы берём IP и отправляемся определять подсеть с диапазоном IP, откуда он пришёл. Для этого воспользуемся любым Whois-сервисом, например, этим, ищем строку CIDR или, если её нет, NetRange
Определяем подсеть IP
Нам повезло, CIDR (Classless Inter-Domain Routing, Бесклассовая адресация) присутствует, а именно в таком формате лучше всего записывать диапазон IP в htaccess
Order Deny,Allow Deny from 192.168.0.0/16
Если CIDR отстуствует, рекомендую воспользоваться калькулятором IP-диапазона в CIDR и данными из NetRange, чтобы получить CIDR.
Конвертируем диапазон IP в CIDR
Запретить доступ в админку
Чтобы запретить доступ в админку всем, кроме вашего IP, в htaccess, который должен располагаться в разделе админки, нужно прописать:
Order Allow,Deny Allow from 192.168.0.0/16
Где 192.168.0.0/16
— ваш IP или подсеть
Вот, скажем, вариант для WordPress. Файл .htaccess создаётся в /wp-admin/
<Files "admin-ajax.php"> Allow from all </Files> Order Allow,Deny Allow from 192.168.0.0/16
Обратите внимание, тут используется конструкция Files "admin-ajax.php"
. Она необходима для того, чтобы проходили ajax запросы.
Запретить доступ к файлам по IP
Вот пример, как можно защитить админку WordPress от посягательств хакеров.(wp-login|wp-config)\.php$»> Order deny,allow Deny from all Allow from 192.168.0.0/16 </FilesMatch>
Здесь 192.168.0.0/16
— ваша подсеть IP.
Дополнительные материалы
Защити свой сервер с помощью hosts.allow и hosts.deny
После того, как TCP-пакеты были переданы компьютеру с Linux, среди других действий, их обрабатывают два файла — /etc/hosts.allow и /etc/hosts.deny. Эти два файла работают также как и стандартные правила брандмауэра. Первоначально демон tcpd обрабатывает пакеты пропуская их через содержимое файла hosts.allow, а затем через файл hosts.deny.
Запомните это, так как если вы что-то напутаете в их содержании, то можете потерять доступ к вашим серверам (если вы настраиваете их удаленно). Если демон не находит ничего соответствующего в hosts.allow, он переходит к обработке файла hosts.deny.
Синтаксис этих файлов очень прост:
служба: IP-адрес или имя хоста
Так, например, если мы хотим блокировать все smtp-пакеты, идущие к нашему серверу от mail.test.ru, нам необходимо ввести в файл hosts.deny следующую строчку:
smtp: mail.test.ru
Мы можем также указать вместо имени хоста и его IP-адрес (лучше всего физический, тем самым избегая проблем в безопасности DNS-сервера):
smtp: 192.168.1.10
С успехом можно использовать и прекрасную возможность использования знака «.» в строке адреса, для обозначения сети. К примеру, если мы хотим разрешить доступ к нашему серверу по http из всей сети 192.168.10.0/24, то мы должны написать в hosts.allow следующее:
http: 192.168.10.
Также мы можем использовать этот знак, если хотим разрешить доступ к какой-либо службе всем компьютерам нашего домена, указав в hosts.allow следующее:
http: .test.ru
После этого все компьютеры домена test.ru будут иметь доступ к веб-службе на нашем сервере.
Ну, и самый простой способ (который как правило и употребляют новички-администраторы) — это указать:
mysqld: ALL
эта запись сделает доступной для всех вашу службу mysql. Надеюсь, вы догадались в какой файл нужно поместить эту строчку?
Конечно же в /etc/hosts.deny! А вот в /etc/hosts.allow внести запись типа:
mysqld: LOCAL
И тогда ваша mysql будет доступна для локальных приложений!
Помните — содержимое файлов /etc/hosts.allow и /etc/hosts.deny зависит только от ваших потребностей в защите вашего сервера. Пробуйте, по необходимости открывая или закрывая доступ к службам для тех или иных целей. Но не забывайте, что написание после знака «:» слова «ALL» (в файле /etc/hosts.allow) не дает вам гарантий в безопасности вашего сервера!
Успехов!
HTTP-сервер Apache, версия 2.4
Сводка
Директивы, предоставляемые mod_access_compat
, являются
используется в
, <Файлы>
, и <Местоположение>
секций
а также .htaccess
файлов для управления доступом к определенным частям сервера.
Доступ можно контролировать на основе имени хоста клиента, IP-адреса или
другие характеристики клиентского запроса, зафиксированные в переменных среды.Директивы Allow
и Deny
используются для
указать, каким клиентам разрешен или запрещен доступ к серверу,
в то время как Заказ
директива устанавливает состояние доступа по умолчанию и настраивает, как Разрешить
и Запретить директивы
взаимодействуют с каждой
Другие.
Как ограничения доступа на основе хоста, так и на основе пароля
аутентификация может быть реализована одновременно. В этом случае,
используется директива Satisfy
чтобы определить, как взаимодействуют два набора ограничений.
Примечание
Директивы mod_access_compat
имеют
устарел mod_authz_host
.
Смешивание старых директив, таких как Order
, Allow
или Deny
с новыми, такими как Требовать
технически возможно
но обескуражен. Этот модуль был создан для поддержки
конфигурации, содержащие только старые директивы для облегчения обновления 2.4.
Пожалуйста, проверьте руководство по обновлению, чтобы узнать больше
Информация.
Как правило, директивы ограничения доступа применяются ко всем
методы доступа ( GET
, PUT
, , ПОСТ
и др.). Это желаемое поведение в большинстве
случаи. Однако можно ограничить некоторые методы, пока
оставив другие методы неограниченными, включив директивы
в разделе
.
Объединение разделов конфигурации
Когда любая директива, предоставленная этим модулем, используется в новом раздел конфигурации, никакие директивы, предоставленные этим модулем, не унаследован от предыдущих разделов конфигурации.
Директивы
Контрольный список исправлений
См. Также
Директива Allow
влияет на то, какие хосты могут
доступ к области сервера. Доступ можно контролировать с помощью
имя хоста, IP-адрес, диапазон IP-адресов или другие
характеристики клиентского запроса, зафиксированные в среде
переменные.
Первый аргумент этой директивы всегда из
. Последующие аргументы могут занять три
разные формы.Если указано Разрешить со всех
, то
всем хостам разрешен доступ, в зависимости от конфигурации Запретить директивы
и Заказать
, как обсуждалось
ниже. Чтобы разрешить доступ только определенным хостам или группам хостов
сервер, хост может быть указан в любом из
следующие форматы:
- A (частичное) доменное имя
Разрешить от example.org Разрешить из .net example.edu
Разрешены хосты, имена которых совпадают с этой строкой или заканчиваются на нее. доступ.Подбираются только полные компоненты, поэтому указанные выше пример будет соответствовать
foo.example.org
, но не будет соответствуетfooexample.org
. Эта конфигурация вызовет Apache httpd для выполнения двойного поиска DNS на клиентском IP адрес, независимо от настройки директивыHostnameLookups
. Это будет сделать обратный поиск DNS по IP-адресу, чтобы найти связанный имя хоста, а затем выполните прямой поиск имени хоста, чтобы убедиться, что что он соответствует исходному IP-адресу.Только если нападающий и обратный DNS согласованы, и совпадение имени хоста будет доступ будет разрешен.- Полный IP-адрес
Разрешить от 10.1.2.3 Разрешить от 192.168.1.104 192.168.1.205
IP-адрес хоста, которому разрешен доступ
- Частичный IP-адрес
Разрешить от 10.1 Разрешить от 10 172.20 192.168.2
Первые от 1 до 3 байтов IP-адреса для подсети. ограничение.
- Пара сеть / маска сети
Разрешить от 10.1.0.0/255.255.0.0
Сеть a.b.c.d и сетевая маска w.x.y.z. Для большего детальное ограничение подсети.
- Сеть / nnn Спецификация CIDR
Разрешить от 10.1.0.0/16
Аналогично предыдущему случаю, за исключением того, что сетевая маска состоит из nnn старшие 1 биты.
Обратите внимание, что последние три приведенных выше примера точно соответствуют тот же набор хостов.
Можно указатьадресов IPv6 и подсетей IPv6, как показано ниже:
Разрешить с 2001 года: db8 :: a00: 20ff: fea7: ccea Разрешить с 2001 года: db8 :: a00: 20ff: fea7: ccea / 10
Третий формат аргументов Разрешить
директива разрешает доступ к серверу
для управления на основе наличия переменной среды. Когда Разрешить от
env = указана переменная env
, тогда запрос
разрешен доступ, если переменная среды переменная env существуют.Когда Разрешить от env =! переменная env
— это
указано, то запрос разрешен доступ, если среда
переменная env-переменная не существует.
Сервер предоставляет возможность установить среду
переменные гибко на основе характеристик клиента
запрос, используя директивы, предоставленные mod_setenvif
. Следовательно, эту директиву можно
используется для разрешения доступа на основе таких факторов, как клиенты User-Agent
(тип браузера), Referer
или
другие поля заголовка HTTP-запроса.KnockKnock / 2 \ .0 let_me_in <Каталог "/ docroot"> Заказ запретить, разрешить
Запретить всем
Разрешить от env = let_me_in
В этом случае браузеры со строкой агента пользователя, начинающейся
с KnockKnock / 2.0
будет разрешен доступ, и все
другим будет отказано.
Объединение разделов конфигурации
Когда любая директива, предоставленная этим модулем, используется в новом раздел конфигурации, никакие директивы, предоставленные этим модулем, не унаследован от предыдущих разделов конфигурации.
Эта директива позволяет ограничить доступ к серверу.
на основе имени хоста, IP-адреса или переменных среды. В
Аргументы в пользу директивы Deny
:
идентичны аргументам для директивы Allow
.
Директива Порядок
вместе с Разрешить
и Запретить директивы
,
управляет трехпроходной системой контроля доступа. Первый проход
обрабатывает либо все директивы Allow
, либо все директивы Deny
, как указано
Приказом
директива.Второй проход анализирует остальные директивы
( Запретить
или Разрешить
). Третий
pass применяется ко всем запросам, которые не соответствуют ни одному из первых
два.
Обратите внимание, что все директивы Allow
и Deny
обрабатывается, в отличие от типичного брандмауэра, где только первое совпадение
использовал. Последнее совпадение является эффективным (также в отличие от обычного брандмауэра).
Кроме того, порядок, в котором строки появляются в конфигурации
файлов не имеет значения — все строки Allow
обрабатываются как
одна группа, все Запретить
строк считаются
другой, и состояние по умолчанию рассматривается само по себе.
Порядок заказа — это одна из:
-
Разрешить, запретить
- Во-первых, все директивы
Allow
оценен; хотя бы одно должно совпадать, иначе запрос будет отклонен. Далее всеЗапретить
директивы оцениваются. Если какие-либо совпадения, запрос отклоняется. Наконец, отклоняются любые запросы, которые не соответствуют директивамAllow
илиDeny
. по умолчанию. -
Запретить, разрешить
- Во-первых, все директивы
Deny
оценен; если есть совпадения, запрос отклоняется , если только не соответствует директивеAllow
.Любой запросы, не соответствующие директивамAllow
илиDeny
, разрешенный. -
Взаимная неисправность
- Этот приказ действует так же, как Приказ
. Разрешить, запретить
и не рекомендуется в его пользу.
Ключевые слова можно разделять только запятой; без пробелов между ними разрешено.
Матч | Разрешить, запретить результат | Запретить, разрешить результат |
---|---|---|
Только совпадение разрешено | Запрос разрешен | Запрос разрешен |
Только совпадение запрещено | Запрос отклонен | Запрос отклонен |
Нет совпадений | По умолчанию вторая директива: отклонено | По умолчанию вторая директива: разрешена |
Соответствие разрешению и запрету | Окончательный контроль матча: отказано | Окончательный контроль матча: разрешен |
В следующем примере все хосты в примере.org домен разрешен доступ; всем остальным хостам отказано в доступе.
Запрет заказа, Разрешить Запретить всем Разрешить с example.org
В следующем примере все хосты в домене example.org
разрешенный доступ, за исключением хостов, которые находятся в
foo.example.org, которым запрещен доступ. Все хосты не
в домене example.org отказано в доступе, потому что по умолчанию
состояние до Запретить
доступ к серверу.
Разрешить, запретить Позвольте из примера.орг Запретить с foo.example.org
С другой стороны, если Заказ
в
последний пример изменен на Deny, Allow
, все хосты будут
будет разрешен доступ. Это происходит потому, что независимо от фактического
порядок директив в файле конфигурации, Разрешить от example.org
будет оцениваться последней и будет
переопределить Deny с foo.example.org
. Все хосты не в
домен example.org
также будет разрешен доступ
поскольку состояние по умолчанию — Разрешить
.
Наличие директивы Порядка
может
повлиять на доступ к части сервера даже при отсутствии
сопровождающий Разрешить
и Запретить
директивы из-за их влияния на состояние доступа по умолчанию. Для
например,
Заказать разрешить, запретить
запрещает любой доступ к каталогу / www
потому что состояние доступа по умолчанию установлено на Запретить
.
Директива Order
контролирует порядок доступа
обработка директив только на каждом этапе работы сервера
обработка конфигурации. Это означает, например, что Разрешить
или Запретить директиву
в <Местоположение>
раздел будет
всегда оцениваться после директивы Allow
или Deny
, появляющейся в
раздел или .htaccess
файл, независимо от настройки Директива заказа
.Подробнее о слиянии
разделов конфигурации, см. документацию в разделах «Как каталог», «Местоположение» и «Файлы»
Работа.
Объединение разделов конфигурации
Когда любая директива, предоставленная этим модулем, используется в новом раздел конфигурации, никакие директивы, предоставленные этим модулем, не унаследован от предыдущих разделов конфигурации.
Политика доступа, если используются и Разрешить,
и Требовать
. Параметр может быть
либо Все
, либо Любые
.Эта директива только
полезно, если доступ к определенной области ограничен обоими
имя пользователя / пароль и адрес хоста клиента. В таком случае
поведение по умолчанию ( Все
) требует, чтобы клиент
передает ограничение доступа к адресу и вводит действительный
имя пользователя и пароль. С опцией Any
клиент будет
предоставили доступ, если они либо пройдут ограничение хоста, либо введут
действующее имя пользователя и пароль.Это можно использовать для ограничения пароля
площадь, но позволять клиентам с определенных адресов входить без
запрос пароля.
Например, если вы хотите, чтобы люди в вашей сети неограниченный доступ к части вашего веб-сайта, но требуется, чтобы люди за пределами вашей сети предоставляют пароль, вы можете использовать конфигурация аналогична следующей:
Требовать действующего пользователя Разрешить от 192.168.1 Удовлетворительно любой
Еще одно частое использование директивы Satisfy
это ослабить ограничения доступа к подкаталогу:
<Каталог "/ var / www / private"> Требовать действительного пользователя <Каталог "/ var / www / private / public"> Разрешить от всех Удовлетворительно
В приведенном выше примере аутентификация потребуется для / var / www / private
каталог, но не требуется
для каталога / var / www / private / public
.
Начиная с версии 2.0.51 Директивы Satisfy
могут
быть ограниченным определенными методами разделами
и
.
Объединение разделов конфигурации
Когда любая директива, предоставленная этим модулем, используется в новом раздел конфигурации, никакие директивы, предоставленные этим модулем, не унаследован от предыдущих разделов конфигурации.
См. Также
apache — htaccess «порядок» Запретить, Разрешить, Запретить
Обновление: для нового apache 2.4 прыжка прямо до конца.
Ключевое слово Order и его связь с директивами Deny
и Allow
— настоящий кошмар. Было бы очень интересно понять, как мы пришли к такому решению, мягко говоря не интуитивно понятному.
- Первый важный момент заключается в том, что ключевое слово
Order
будет иметь большое влияние на то, как используются директивыAllow
иDeny
. - Во-вторых, директивы
Deny
иAllow
не применяются в том порядке, в котором они написаны, они должны рассматриваться как два отдельных блока (один для директивDeny
, один дляAllow
). - В-третьих, они в корне не похожи на правила брандмауэра: применяются все правила, процесс не останавливает при первом совпадении.
У вас есть два основных режима:
Режим
Order-Deny-Allow-mode или Allow-any-except-this-list-or-may-not Запретить заказ, разрешить
- Это режим , разрешенный по умолчанию . При желании вы можете указать
Запретить
правил. - Во-первых, правила
Deny
отклоняют некоторые запросы. - Если кто-то получит отказ, вы можете вернуть его с помощью
Allow
.
Я бы перефразировал это так:
Запретить правило
список запрещающих правил
Кроме
список разрешающих правил
Разрешить политику (если правило не сработало)
Режим
Order-Allow-Deny-mode или Reject-all-except-this-list-or-may-not Заказать разрешить, запретить
- Это режим отказа по умолчанию . Таким образом, вы обычно указываете
Разрешить
правил. - Во-первых, чей-то запрос должен соответствовать хотя бы одному правилу
Allow
. - Если кто-то соответствует
Allow
, вы все равно можете отклонить его с помощьюDeny
.
В упрощенном виде:
Разрешить правило
список разрешающих правил
Кроме
список запрещающих правил
Отказ в политике (если правило не сработало)
Вернуться в ваш чемодан
Вам необходимо разрешить список сетей, которые являются сетями страны. И в этой стране вы хотите исключить IP-адреса некоторых прокси.
Вы выбрали режим allow-any-except-this-list-or-may-not , поэтому по умолчанию любой может получить доступ к вашему серверу, кроме IP-адресов прокси, перечисленных в списке Deny
, но если они получить отказ по-прежнему разрешить сети страны. Это слишком широко. Нехорошо.
При инвертировании к разрешению порядка , отклонению
вы будете в режиме отклонить всех, кроме этого-списка или, может быть, не .
Таким образом, вы откажетесь от доступа всем, но разрешите сети страны, а затем откажетесь от прокси.И, конечно же, вы должны удалить Deny из всех
, как указано @Gerben и @Michael Slade (этот ответ объясняет только то, что они написали).
Deny из всех
обычно отображается с order deny, позволяет
удалить разрешить по умолчанию доступ и сделать простую, удобочитаемую конфигурацию. Например, после этого укажите список разрешенных IP-адресов. Вам не нужно это правило, и ваш вопрос — идеальный случай трехстороннего режима доступа (политика по умолчанию, исключения, исключения из исключений).
Но разработчики этих настроек определенно безумны.
Все это устарело в Apache 2.4
Вся схема авторизации была отредактирована в Apache 2.4 с директивами RequireAll, RequireAny и RequireNone. См., Например, этот пример сложной логики.
Итак, старая странная логика Порядка
становится пережитком, и, если цитировать новую документацию:
В прошлом управление тем, как и в каком порядке будет применяться авторизация, оставалось загадкой.
apache -.htaccess: понимание использования deny, allow и allow, deny
Правила запретить, разрешить
и порядок разрешить, запретить
определяют, в каком порядке обрабатываются запретить из
и разрешить из
директив. Все разрешающие и запрещающие правила обрабатываются, причем последнее соответствующее правило имеет приоритет над любыми предыдущими правилами. См. Раздел «Директива заказа» в документации модуля mod_authz_host для подтверждения.
Обратите внимание, что все директивы Allow и Deny обрабатываются, в отличие от типичный брандмауэр, в котором используется только первое совпадение.Последний матч эффективен (также в отличие от обычного межсетевого экрана). Дополнительно заказ какие строки появляются в файлах конфигурации, не имеет значения — все строки Allow обрабатываются как одна группа, все строки Deny обрабатываются рассматривается как другое, а состояние по умолчанию считается само по себе.
Например, если мы обрабатываем запрещающие правила до разрешающих правил, мы можем эффективно создать белый список разрешенных IP-адресов.
заказ отклонить, разрешить
отрицаю от всех
разрешить от 127.0.0.1
И наоборот, в следующем примере мы обрабатываем разрешающие правила перед запрещающими правилами для черного списка запрещенных IP-адресов.
разрешить, запретить
разрешить от всех
запретить из 127.0.0.1
Подкаталоги наследуют правила родительских каталогов, если только они не объявят свои собственные правила. Если подкаталог использует директиву order или директиву allow / deny, правила от родительского объекта не наследуются. См. «Ошибка 52406», которая относится к разделу «Объединение разделов конфигурации» этого документа, для подтверждения такого поведения.
Для модулей, которые не реализуют никакой логики слияния, например mod_access_compat, поведение в следующих разделах зависит от того, в последнем разделе есть какие-либо директивы из модуля. В конфигурация наследуется до тех пор, пока не будут внесены изменения, после чего конфигурация заменена, а не объединена.
Простой тест
Вы также можете выполнить этот простой тест, чтобы подтвердить такое поведение.
Поместите следующие строки в родительский каталог .htaccess
.
заказ отклонить, разрешить
отрицаю от всех
И любая или все следующие строки в дочернем каталоге .htaccess
.
заказ отклонить, разрешить
запретить с 0.0.0.0
Вы увидите, что дочерний каталог теперь общедоступен, хотя родительский каталог содержит deny из всех
, а дочерний каталог не имеет разрешений из
директив.
На основании документации и экспериментов кажется, что родительский каталог не может каким-либо образом переопределить директивы дочернего директора.
apache — .htaccess, разрешить, запретить, запретить от всех: confused?
Это довольно запутанный способ использования директив конфигурации Apache.
Технически первый бит эквивалентен
Разрешить всем
Это связано с тем, что Order Deny, Allow
заставляет директиву Deny оцениваться перед директивами Allow.
В этом случае Deny и Allow конфликтуют друг с другом, но Allow, будучи оцененным последним, будет соответствовать любому пользователю, и доступ будет предоставлен.
Теперь, чтобы прояснить ситуацию, такая конфигурация является ПЛОХОЙ, и ее следует избегать любой ценой, поскольку она граничит с неопределенным поведением.
Разделы Limit определяют, какие методы HTTP имеют доступ к каталогу, содержащему файл .htaccess.
Здесь методам GET и POST разрешен доступ, а методам PUT и DELETE доступ запрещен. Вот ссылка, объясняющая различные методы HTTP: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
Однако чаще всего бесполезно использовать эти ограничения, если у вас нет пользовательских сценариев CGI или модулей Apache, которые напрямую обрабатывают нестандартные методы (PUT и DELETE), поскольку по умолчанию Apache не обрабатывает их на все.
Также необходимо отметить, что существует несколько других методов, которые также могут обрабатываться Limit, а именно CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK и UNLOCK.
Последний бит также, безусловно, бесполезен, поскольку любая правильно настроенная установка Apache содержит следующую часть конфигурации (для Apache 2.2 и ранее):
#
# Следующие строки предотвращают сохранение файлов .htaccess и .htpasswd.
# просматривается веб-клиентами.\ .ht ">
Требовать все отклонено
Модуль ngx_http_access_module
Модуль ngx_http_access_module
Модуль ngx_http_access_module
позволяет
ограничение доступа к определенным адресам клиентов.
Доступ также может быть ограничен пароль, по результат подзапроса, или от JWT. Контролируется одновременное ограничение доступа по адресу и паролю. директивой удовлетворения.
Пример конфигурации
место расположения / { Сказать 192.168.1.1; разрешить 192.168.1.0/24; разрешить 10.1.1.0/16; разрешить 2001: 0db8 :: / 32; все отрицать; }
Правила проверяются последовательно, пока не будет найдено первое совпадение.
В этом примере доступ разрешен только для сетей IPv4. 10.1.1.0/16
и 192.168.1.0/24
за исключением адреса 192.168.1.1
,
и для сети IPv6 2001: 0db8 :: / 32
.
В случае большого количества правил использование
ngx_http_geo_module
переменные модуля предпочтительнее.
Директивы
Синтаксис: | разрешить |
---|---|
По умолчанию: | — |
Контекст: | http , сервер , расположение , limit_except |
Разрешает доступ для указанной сети или адреса.Если указано специальное значение unix:
(1.5.1),
разрешает доступ для всех сокетов UNIX-домена.
Синтаксис: | отказать |
---|---|
По умолчанию: | — |
Контекст: | http , сервер , расположение , limit_except |
Запрещает доступ для указанной сети или адреса.Если указано специальное значение unix:
(1.5.1),
запрещает доступ для всех сокетов UNIX-домена.
Как запретить доступ к моему сайту с помощью файла .htaccess? — База знаний DreamHost
Создание файла .htaccess на веб-сервере DreamHost
Инструкции по созданию файла .htaccess на веб-сервере см. В следующей статье:
Если файл уже существует, просмотрите следующие статьи, чтобы узнать, как его обновить (в зависимости от того, используете ли вы FTP-клиент или SSH):
После создания файла вы можете добавить в него приведенные ниже примеры кода.
Запретить доступ к файлам
Отказ в доступе к определенным расширениям файлов
Следующий код заставляет любой файл, заканчивающийся на .inc, выдавать ошибку 403 Forbidden при посещении:
<Файлы ~ "\ .inc $"> Заказать разрешить, запретить Запретить от всех
Запрет доступа к «скрытым» файлам
Имена файлов, начинающиеся с точки, считаются в UNIX «скрытыми». Обычно вы не хотите показывать их посетителям.
DreamHost уже запрещает получение.htaccess и .htpasswd, но вы можете рекурсивно запретить любой доступ ко всем скрытым файлам, поместив следующее в верхний уровень .htaccess:
Запретить доступ к папкам
Отказ в доступе к списку каталогов
Если у вас нет индексного файла в вашем каталоге, все ваши файлы перечислены в списке каталогов, чтобы любой мог их просмотреть. Следующий код заставляет этот список каталогов выдавать ошибку 404 Forbidden при посещении:
Отказ в доступе в определенное время дня
Если вы хотите заблокировать доступ к файлам в каталоге в определенное время суток, вы можете сделать это, добавив следующий код в файл.| /) бла (/ | $) — [F]
Запрет доступа с определенных IP-адресов
Если у вас есть проблемы с некоторыми посетителями вашего сайта, вы можете легко их забанить. Забанить посетителей можно двумя способами:
- , используя их IP-адрес, или
- — доменное имя, с которого они заходят.
Вот пример, запрещающий пользователю по его IP-адресу:
отказать от 173.236.241.100
Когда пользователь пытается подключиться к вашему сайту с этого IP-адреса, вместо этого он видит страницу 403 Forbidden.Если вы хотите заблокировать весь блок IP-адресов, просто оставьте последний октет отключенным. Например:
Это запрещает доступ для всех, кто использует IP-адрес в диапазоне от 173.236.241.0 до 173.236.241.255.
Следующая ссылка представляет собой полезный онлайн-инструмент, который автоматически генерирует для вас диапазон IP-адресов:
Разрешение доступа с определенного IP-адреса
Если вам нужно запретить доступ к своему сайту для всех, но при этом разрешить посещать его себе или другому определенному IP-адресу, вы можете использовать что-то вроде этого:
заказ отклонить, разрешить отрицаю от всех разрешить с <ВАШ_IP_ADDRESS>
Отказ в доступе из определенного домена
Это запрещает доступ для всех, кто подключается к вашему сайту с www.example.com . Если кто-то нажимает на ссылку example.com , которая перенаправляет на ваш сайт, он видит ошибку 403 Запрещено:
SetEnvIfNoCase Referer "example.com" bad_referer Заказать разрешить, запретить Разрешить от ВСЕХ Запретить с env = bad_referer
В этом примере выдается внутренняя ошибка сервера 500 для всех, кто ссылается с example.com :
RewriteEngine на RewriteCond% {HTTP_REFERER}, пример \ .com [NC, OR] RewriteRule. * - [F]
В следующем примере перенаправляется любой посетитель, подключающийся из примера .http://example.com/
RewriteRule / * http://www.google.com [R, L] .htaccess — это находчивый файл, который может разрешить или запретить доступ к вашему веб-сайту или папке или файлам в каталоге, в котором он размещен, с помощью порядка , разрешают и запрещают ключевых слов. В следующем примере предполагается, что вы хотите разрешить доступ только к 1.2.3.4 IP-адрес . Код, который вам нужно будет добавить в файл .htaccess: Ключевое слово Порядок здесь определяет порядок, в котором разрешает , запрещает доступ . Для приведенного выше оператора « Order » сначала будут обрабатываться операторы Allow , а затем будут обработаны операторы deny . Предположим, вы хотите запретить или заблокировать доступ к своему веб-сайту с IP-адреса 1.2.3.4. Строки ниже предоставляют средства, позволяющие разрешить доступ к вашему веб-сайту всем пользователям, кроме одного с IP-адресом: 1.2.3.4 Если есть несколько IP-адресов, к которым вы хотите запретить доступ, просто добавьте столько правил «Запретить от», сколько необходимо.| /) \. «- [F] В качестве альтернативы вы можете просто вызвать ошибку «Не найдено», не давая злоумышленнику понять: Эти файлы могут быть оставлены некоторыми текстовыми / HTML-редакторами (такими как Vi / Vim) и представляют большую опасность для безопасности, если будут опубликованы. Вот и все. Теперь вы знаете, как разрешить или запретить доступ к вашему сайту с помощью .htaccess. Если вам понравился этот урок, то вам понравится наша поддержка! Все планы хостинга ChemiCloud включают круглосуточную поддержку нашей замечательной службы поддержки. См. Также
Как разрешить или запретить доступ к вашему сайту с помощью .htaccess
Как разрешить доступ к одному IP-адресу с помощью .htaccess
# Разрешить, запретить заказ
Запретить от всех
Разрешить с 1.2.3.4
Как запретить доступ к одному IP-адресу с помощью.htaccess
# Разрешить, запретить заказ
Запретить с 1.2.3.4
Запретить с 1.2.3.5
Разрешить от всех
# Заказ запрещен, разрешен
Запретить с 1.2.3.4
Запретить с 1.2.3.5
Запретить доступ к резервным копиям и исходным файлам
Как отключить просмотр каталогов
Опции Все -Индексы