Как проверить включен ли на хостинге php разберем детали


Бесплатный хостинг для сайта с PHP и MySQL и с ftp доступом



Как проверить включен ли на хостинге php,


Joined: 29 May 2006
Posts: 31


Posted: Wed Aug 09, 2006 9:09 am ( написано за 5 минут 38 секунд )
Post subject: Проверка, включен ли javascript.
Специфика сайта такова, что для нормальной работы на нем необходимо, чтобы в браузере пользователя был включен jaavscript. Но как это проверить? Конечно, я видел методы типа

Code ( html ): скопировать код в буфер обмена
Однако ничего не мешает пойти самому на process.php?jschecked=true

Как можно совсем запретить отключение javascriptа?

Была мысль такая: посылать javascriptом запрос на сервер(AJAX) где бы в базу складывался SESSIONID и то, что javascript проверен. А потом на каждом файле сервера лазить в базу и смотреть. Однако ничего не мешает пойти на запрашиваемую javascriptом страничку самому. У вас есть какие-нибудь идеи? Спасибо.

P.S. Поиском пользовался.

Back to top WingedFox
Профессионал


Joined: 29 Apr 2003
Posts: 4064

Location: Питер

Posted: Wed Aug 09, 2006 9:41 am ( спустя 31 минуту , написано за 38 секунд )
Post subject:
Organ
Вопрос аналогичен как запретить пользователю выключить компьютер?.
Back to top Organ
Участник форума


Joined: 29 May 2006
Posts: 31


Posted: Wed Aug 09, 2006 9:48 am ( спустя 6 минут , написано за 1 минуту 57 секунд )
Post subject:
Естественно, пользователю никто не запретит выключить компьютер или javascript. Имеется в виду, закрыть доступ к сайту тем пользователям, у кого отключен javascript. А в перечисленных мной вариантах, если пользователь захочет, он все равно зайдет на сайт. И при этом у него будет отключен javascript.
Back to top Organ
Участник форума


Joined: 29 May 2006
Posts: 31


Posted: Wed Aug 09, 2006 10:22 am ( спустя 34 минуты , написано за 1 минуту 54 секунды )
Post subject:
В общем то, понял некоторую бессмысленность своего вопроса. Он был задан лишь из желания сделать так, чтобы пользователи работали нормально. Однако если пользователь уже загрузил страничку и на ней отключил javascript, сервер тут бессилен. Тему можно закрыть.
Back to top WingedFox
Профессионал


Joined: 29 Apr 2003
Posts: 4064

Как проверить, включен ли mod_rewrite на сервере?

В настоящее время я использую хостинг с сервером speedpeed . Хостинг говорит, что mod_rewrite включен, но я не могу заставить работать мой скрипт. Всякий раз, когда я пытаюсь получить доступ к URL-адресу, он возвращает 404 – не найденную страницу.

Я помещаю те же коды на другой сервер, который работает с Apache. Он работает там. Поэтому я предполагаю, что это проблема .htaccess и mod_rewrite .

Но поддержка хостинга по-прежнему настаивает на том, что их mod_rewrite включен, поэтому я хотел бы знать, как я могу проверить, действительно ли он включен или нет.

Я пытался проверить с помощью phpinfo() , но не повезло, я не могу найти там mod_rewrite , потому что они используют lightspeed ?

Есть ли способ проверить? Пожалуйста, помогите мне. Спасибо.

FYI: мой код .htaccess

Я тоже так пробовал

Но такой же результат.

Чтобы проверить, включен ли модуль mod_rewrite, создайте новый php-файл в корневой папке вашего WAMP-сервера. Введите следующее

Получите доступ к созданному файлу из своего браузера.

Ctrl F, чтобы открыть поиск. Найдите mod_rewrite. Если он включен, вы видите его как «Загруженные модули»,

Если нет, откройте httpd.conf (файл конфигурации Apache) и найдите следующую строку.

#LoadModule rewrite_module modules/mod_rewrite.so

Удалите знак фунта (#) в начале и сохраните этот файл.

Перезагрузите сервер Apache.

Доступ к одному и тому же файлу php в вашем браузере.

Ищите mod_rewrite снова. Теперь вы сможете найти его.

Если вы используете файл конфигурации виртуальных хостов, убедитесь, что у виртуального хоста есть директива AllowOverride All где-то вроде этого:

из командной строки, введите

если режим перезаписи уже включен, он скажет вам об этом!

Если apache_get_modules () не распознан или нет информации об этом модуле в phpinfo (), попробуйте протестировать mod rewrite, добавив эти строки в ваш файл .htaccess:

возвращает true тогда mod-rewrite включен.

Если этот код находится в вашем файле .htaccess (без проверки на mod_rewrite.c)

и вы можете посетить любую страницу на своем сайте с получением ошибки 500 серверов. Я думаю, что можно с уверенностью сказать, что mod rewrite включен.

Переопределенная функция apache_get_modules() PHP возвращает список включенных модулей. Чтобы проверить, включен ли mod_rewrite , вы можете запустить следующий скрипт на своем сервере:

Если приведенный выше пример не удается, вы можете проверить mod-rewrite, используя файл .htaccess .

Создайте файл htaccess в корне документа и добавьте следующий rewriteRule:

Теперь посетите http://example.com/HelloWorld , вы будете внутренне перенаправлены на страницу /index.php вашего сайта. В противном случае, если mod-rewrite отключен, вы получите 500 ошибок сервера Internel.

Надеюсь это поможет.

Вы можете использовать функцию php

и проверьте наличие mod_rewrite

Если вы находитесь в системе Linux, вы можете проверить все модули включения для apache2 (в моем случае) в следующей папке: / etc / apache2 / mods-available

для ввода: ll -a
если вы хотите проверить доступные модули для php (в данном случае php 7) папки /etc/php/7.0/mods-available

Это работает на CentOS:

Должен вывести rewrite_module (shared)

просто создайте новую страницу и добавьте этот код

скрипт Проверьте, включен ли JavaScript с помощью PHP

проверка на отключенный js (25)

// Вот решение: // работает отлично

// И затем внутри get-javascript-status.php:

Есть ли способ проверить, включен ли JavaScript с PHP? Если да, то как?

PHP не может использоваться для определения того, включен ли javascript или нет. Вместо этого используйте , //Break out and try again to check js exit, > > > ?>

Вы можете использовать логику логики (по умолчанию / переключатель) - это пример, который я напечатал переменную в php:

JS: (в моем документе готов)

Вы можете попробовать 2 метода:

  • настройка cookie с помощью JS и обнаружение их из PHP
  • создание формы со скрытым полем и пустым значением, и затем присваивая ему некоторое значение с помощью JS, если поле получает значение - JS включено, иначе оно выключено. Но форма должна была быть представлена ​​первой, прежде чем PHP сможет запросить значение скрытого поля.

если вы хотите определить, разрешить ли JS включить настройку перед загрузкой страницы, вы можете попробовать это (я не знаю, если он работает):

Вы можете установить cookie с помощью Javascript, а затем перезагрузить страницу с помощью Javascript. Затем, используя PHP, вы должны проверить, установлен ли файл cookie, если он включен Javascript!

Вы не можете определить, включен ли браузер в JS, но вы можете узнать, поддерживает ли браузер JS http://php.net/manual/en/function.get-browser.php

$js_capable = get_browser(null, true)=>javascript == 1

Сказав это, это, вероятно, не очень полезно. Вы должны пересмотреть обнаружение JS из PHP. Там не должно быть необходимости, если вы используете прогрессивное усовершенствование , а это означает, что JS добавляет только функциональность к тому, что уже есть на странице.

Убедитесь, что у вас есть последний jQuery.js

Другой вариант: если вам не нужно проверять, включена ли JS на первом представлении посетителей (основная страница), вы можете установить cookie с помощью js. На следующей странице вы можете проверить с помощью php, если файл cookie существует .

Его 2013. Просто попросите свой сценарий создать шаблоны non-js внутри тега body > noscript , а затем внутри вашего CSS сохраните ваш основной контейнер js site display: none, После этого просто поместите что-то вроде сразу после закрытия основного # контейнера div и перед тегом noscript. (если вы используете jquery, конечно).

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

Если вы беспокоитесь о чрезмерном раздувании размера страницы со слишком большой разметкой, вы можете сделать то же самое, но вместо этого оставить

На стороне примечания, я бы, вероятно, включил дополнительные css-файлы для сайта non-js в теге noscript, чтобы сэкономить на пропускной способности.

Нет, это невозможно, потому что PHP - это серверный язык, он не имеет доступа к браузеру клиента каким-либо образом или форме (запросы клиента с сервера PHP).

Клиент может предоставлять некоторую метаинформацию через HTTP-заголовки, но они не обязательно говорят вам, есть ли у пользователя включен JavaScript или нет, и вы не можете полагаться на них в любом случае,

Пожалуйста, несмотря на то, что все люди говорят, что вы не можете проверить технологию клиентских сценариев. Если целевая технология имеет функции http, вы можете делать ВСЕГДА, просто выпишите шаг проверки. Это означает, что буквально, способ проверить javascript - запустить javascript. Если javascript отключен на стороне браузера, невозможно проверить, поддерживает ли клиент Javascript (например, Dillo с его конфигурацией по умолчанию или другими)

ОБНОВЛЕНО: я разработал этот скрипт, потому что я тестирую некоторые из примеров здесь и, кажется, каждый делает copypasting без каких-либо тестов. Код также находится в Gist https://gist.github.com/erm3nda/4af114b520c7208f8f3f ( обновлен )

Этому решению не нужно больше файлов, просто итерация, если вы запустите браузер, поддерживающий Javascript. Значение передается обратно на PHP с использованием GET с простой переменной, но любой может подделать вывод, делая cURL на url +? Sessionstart = 1, если вы не добавите к нему больше логики.

Поскольку PHP - это серверная сторона, вы не можете знать в PHP, поддерживает ли клиент Javascript, если вы не используете сеансы (или какой-либо другой способ хранения данных через запросы) и сначала отправляете код, на который клиент отвечает.

Если вы ставите следующее в начале вашего PHP-файла, клиент перенаправляется на тот же URL-адрес, если в строку запроса добавляется «js = 0» или «js = 1», в зависимости от того, включен ли Javascript или нет. После получения перенаправленного запроса сценарий записывает результат в переменную сеанса, а затем перенаправляет обратно на исходный URL-адрес, т. Е. Без добавленных «js = 0» или «js = 1». При получении этой второй переадресации сценарий выполняется как обычно, теперь с переменной сеанса, установленной в соответствии с возможностями Javascript клиентов.

Если вам не важно, как выглядит строка запроса в адресной строке пользователя, вы можете пропустить вторую переадресацию и просто установить переменную сеанса. В то время как эти переадресации происходят, пользователю показано короткое информативное сообщение (также вы можете пропустить, если вас это не волнует).

С помощью этого базового ajax вы можете разделить данные, которые клиент видит на основе javascript, или нет.

index.php

jscheckCon.php

Сделайте вашу основную страницу php предполагать, что jscript выключен, и добавьте

Технически нет, потому что, как говорили другие ответы, PHP строго связан с сервером, но вы можете это сделать .

На странице PHP на сервере выводится (для краткости было удалено много HTML)

Затем в myPage.php установите переменную сеанса, чтобы указать, что клиент поддерживает JS

Но на самом деле просто используйте теги , намного, гораздо меньше усилий .

Чтобы избавиться от ботов с отключенным JS:

Никто не может использовать, например, curl -H «Cookie: JSEnabled = XXXXXXXXXXXXXXXXXX», потому что они не знают вашего алгоритма вычисления хэша.

возможно, более простой вариант .

вы можете попробовать использовать элемент noscript для перенаправления пользователя без javascript на страницу без javascript. Это пример.

и добавьте это в свой php.

перед попыткой вы должны отключить браузер javascript .

Отзывы

Эльвира
ogexclasad
carmeaworpahg
Зоя
Стела

Написать отзыв

Success! Your message has been sent.