Comments (16)
A selective password protection for individual books is planned for the next version, yes. Selection by tag sounds like a neat idea.
from bicbucstriim.
Can I help with the next version? When is the next version to be planned?
from bicbucstriim.
In April probably, depending on the workload. Of course you could help. If you have the time you could just add the feature.
from bicbucstriim.
Ok. Thanks. I will take a look.
I have some questions about this.
- Should it be one password for several tag(s) or for specific tags corresponding to specific passwords? (maybe first option is easier, so it can use the global password for downloading.)
- can the books be viewed (information page) without knowing the password? (filter -> see next question)
- are the books filtered out if the password hasn't been filled in?
- should there be a option 'safe filter' in the right upper corner, to set the password so you can see the full catalogue?
from bicbucstriim.
Oh good. Thank you. The security/download protection aspect has three layers:
- many users seem to use BBS on the Internet and not inside their own LANs, so there will be a (optional) login protection for the whole app
- there still will be the global download protection
- instead of none or global download protection the user can opt for selective download protection
For now I would opt against filtering and go for simple download protection with one tag. More tags are hard to remember. The book information would then always be visible. This approach has the advantage that the implementation is straightforward:
- add your tag-check to the function is_protected in index.php
- add a tag selection div to the admin page and store the the selected tag in the database
Does that help?
from bicbucstriim.
Ok. Maybe a filter function could be a feature for later.
- So there need to be a optional login for the whole app -> maybe autodetect if the user is accessing the app within the same network? If not there could be the option to login? (Are you allready started with this option?)
- The global download protection is allready in the app so I will leave this. Ok?
- This selective download protection can only be activated, on one tag; if 1 en 2 isn't activated? I was thinking if option 1 is activated and 2 also. Option 2 will be desactivated when using option 3 (selective download protection based on one tag), but using the same password..
Just to be sure.
from bicbucstriim.
-> 1) no, I have to do some restructuring first (update Slim etc.)
-> 2) yes please
-> 3) Sounds ok
from bicbucstriim.
Ok. I will check and upload the code when finished.
I will change the language file too.
from bicbucstriim.
Is there an easy way to view to log that are produced by the app? Is there a short url for that or where does the app write it's logs?
I have to figure out where I can find the tag of the book. All I found is $details = $bbs->titleDetails($id); $allTags = $details['tags'];
Is this what I need?
from bicbucstriim.
The app uses the underlying Slim framework for logging and that currently logs to the Apache error log. Redirecting the log to a file didn't work reliably in Slim 1.6, unfortunately. That is part of the reason why I want to upgrade to a newer version.
Yes, this
$details = $bbs->titleDetails($id);
$allTags = $details['tags'];
should get all book tags.
from bicbucstriim.
Ok. I think I will manage this.
As soon I get the time, I will upload the code. In language file, I will only able to upload in in English and Dutch.
Is it ok that I just place the code inside this project (click code and edit?)
Sorry for that question but it's my first time that I'm working on a project on Github.
from bicbucstriim.
It would be the easiest if you could just use a pull request https://help.github.com/articles/using-pull-requests
If your fork is still up to date, it should be easy for me to integrate your code.
from bicbucstriim.
I am running the app in the cloud as well. Book-files and calibre-database on the server are synced via the dropbox linux headless client.It works perfectly.
Now, HTTP Basic password protection for the whole app can be achieved by adding a single line of code to index.php. Great thing is, this does not break OPDS functionality, since OPDS specs require RFC2617 capability on the client side.
$app->add(new Middleware_Auth_HttpBasic('USERNAME', 'PASSWORD'));
While i am at it, there is a tiny typo in the current download archive version that throws a server error when calling the list of books for a specific tag.
--- BicBucStriim-1.0.0/index.php 2012-12-15 13:53:36.000000000 +0100
+++ Downloads/index.php 2013-03-09 02:26:46.000000000 +0100
@@ -933,7 +933,7 @@ function tagDetailsSlice ($id, $index=0)
$book->formats = $bbs->titleGetFormats($book->id);
$app->render('tag_detail.html',array(
'page' => mkPage(getMessageString('tag_details')),
- 'url' => 'tag/'.$id,
+ 'url' => 'tags/'.$id,
'tag' => $tl['tag'],
'books' => $tl['entries'],
'curpage' => $tl['page'],
BTW, i love your app. It looks very sleek and the OPDS implementation works great on my IPAD. Thumbs up!
from bicbucstriim.
Ok, I haven't looked too much into Slim Middleware, but your idea looks good. I'll check that.
Thanks for the hint about the tags, the fix is already in the repo (#37).
from bicbucstriim.
Hey Rvolz
I've just added it. Thanks for the info.
from bicbucstriim.
Thx, I'll look at it during the next days.
from bicbucstriim.
Related Issues (20)
- Login page "Error Loading Page'😢 HOT 6
- DSM 7 and bicbumstrimm HOT 6
- disabled readfile() causing cover image display problems
- books containing .rtf file not listed HOT 8
- 500 error Nginx from Pi4 to Synology with DSM7 HOT 2
- [INFO] New DSM7 Package with new/custom Icon HOT 3
- Missing space character in the index_last30.html
- "Invalid file format" when attempting to install HOT 2
- #366 and #369 still present in debug (Function get_magic_quotes_gpc() is deprecated when logging in) HOT 1
- Entering wrong password does not inform user
- Stats and slices other than Books don't consider filtering HOT 2
- List of books in series cut off at book no. 30 HOT 2
- Errors using PHP 8.1 HOT 2
- Send to kindle should stop using .mobi HOT 1
- Add guidance surrounding update metadata option to install steps
- Spk package on SynoCommunity is defective
- Login on qnap not longer possible HOT 6
- An update to Synology DSM 7.2 reports an Error 502 HOT 2
- index.php not loading (blank screen) no error messages HOT 8
- Notice: End of life for PHP version HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bicbucstriim.