?

Log in

No account? Create an account
figure skating

ImageCreateFromPng

Сгенерировала random'ом картинку с цифрами для кода безопасности своей гестбуки. Всё так замечательно работает... НО значение рандомовской переменной из пхп-файла с кодом счетчика в основной исходник гестбуки передаваться никак не хочет ни под каким предлогом. Оглобаливала! Не помогает... Почему нам в Универе все самое интересное не преподавали? Самообучением заниматься надоело... решила походить на небольшие курсы по пхп)) А то все самой... даже скучно)) Основной интерес для меня, все же — MySQL...

Comments

Начиталась: http://ua2.php.net/manual/ru/ref.session.php . Жаль, там не переведено.

Значит, что выходит. При визите пользователя сессия на него заводится в любом случае.

By default, all data related to a particular session will be stored in a file in the directory specified by the session.save_path INI option. A file for each session (regardless of if any data is associated with that session) will be created. This is due to the fact that a session is opened (a file is created) but no data is even written to that file. Note that this behavior is a side-effect of the limitations of working with the file system and it is possible that a custom session handler (such as one which uses a database) does not keep track of sessions which store no data.


Получается, что сессии-таки хранятся в /tmp, он установлен по умолчанию. Заменить пути сохранения файлов сессий можно директивой session.save_path в php.ini или ф-цией session_save_path(). Ну, и, подозреваю, что через .htaccess, так как прямой доступ к php.ini дается далеко не везде :)))

По умолчанию, время хранения сессии 1440 секунд. Изменить его можно через session.gc_maxlifetime все в том же php.ini.

session.gc_maxlifetime specifies the number of seconds after which data will be seen as 'garbage' and cleaned up. Garbage collection occurs during session start.


А еще там указывается, что с точки зрения безопасности хорошо бы переопределить директорию хранения сессий функций session_save_path('новое_место_хранения'); так как /tmp вроде бы общедоступен и при желании можно отследить создающиеся на сервере сессии путем просмотра этой папки :)

If you leave this set to a world-readable directory, such as /tmp (the default), other users on the server may be able to hijack sessions by getting the list of files in that directory.


Вот только не совсем понятно, если у тебя будет изменено место хранения, будет ли для новой папки отрабатывать "сборщик мусора" :)

Вот такая вот... загогулина :)

Учитывая, что моя собственная папка, указанная для хранения сессий, не переполняется ненужным барахлом, а сессии при создании, например, линеек, получаются довольно насыщенные, то делаем вывод, что чистится все на ура, и проблем вызывать не будет :)
ага, про 1440 секунд я читала:) хотела привязать session_handler_destroy()... не работает) Но если все чистится автоматом, тогда все ok:) спасибо!
А если вместо 1440 поставить 10? :) Кстати, надо проверить, вообще разрешно ли у меня переопределение этого времени :))) Только у меня тогда народ не будет успеать линейку создавать... По статистике на выборе линейки и бегунка некоторые минут по 10 вообще проводят :)
вот странно... попробовала все это загрузить на сервер — не работает. Картинка вообще не хочет генериться... может они мне библиотеку отключили?((

PS при большом выборе пользователю сложно сразу выбрать самое-самое, вот и сидят по пол часа ;)
Есть какая-то функция типа gd_info() или как-то так, должно выдать всю инфу по библиотеке gd, начиная с того, подключена ли она вообще.
с ней полный облом: чистый белый экран...)) А в логах — ругательства, на то, что я сую ImageCreateFromPng адрес пикчи... (наши любимые настройки php.ini:))Замучила своих хостерв, вроде все заработало. Покрайней мере, картинка какая-то есть))...
Видела у тебя картинку, и видела, что спамят по-прежнему :( Меня тоже.

Придумала еще один наворот, на чем сразу отпал один из ip, с которых шел спам: вместо картинки picture.php пишу picture.gif, а в .htaccess прописываем


RewriteEngine on
RewriteRule picture.gif$ picture.php


Посмотрю еще до вечера, если кто-то еще отметится, буду-таки делать проверку результатом вычисления :)

В общем, результаты показывают, что старый дедовский метод картинок, сделанных просто в фотошопе, работает вернее :)
прикольная придумка ;) да, спамят заразы... у меня сам счетчик еще глючит...