ich verzweifle so langsam. Ich habe nun endlich einen Shop von 1.5.4 auf 2.2.0 geupdated. Es funktioniert auch soweit alles. Aber ständig kommt die Meldung "Warning: You do not have permission to access the API!", wenn ich eine Bestellung bearbeiten will (siehe 2016-08-24 10_28_45-Einstellungen.png).
Ich habe schon sämtliche Threads durchgelesen und die Dinge die dort beschrieben sind versucht. Aber es kann doch nicht sein, dass ich unter System -> Benutzer -> API jedes mal meine aktuelle IP Adresse eingeben muss? Die wechselt fast täglich ? Ich habe auch gelesen die Webserver Host-Adresse eintragen zu können. Jedoch klappt das auch nicht?
Kann mir jemand helfen?
Gruß Winfo
Attachments
2016-08-24 10_28_45-Einstellungen.png (6.91 KiB) Viewed 4230 times
DG-Webservices- Webdesign und Programmierung aus Friesland
So arbeitet nun mal das System seit 2.0DaCrash wrote:Aber es kann doch nicht sein, dass ich unter System -> Benutzer -> API jedes mal meine aktuelle IP Adresse eingeben muss? Die wechselt fast täglich ..
Aber auf der Seite der Auftragsübersicht kann eine neue IP ebenfalls sehr einfach eingetragen werden, muss man nicht jedesmal in die Benutzerverwaltung gehen.
Und irgendwo in einer englischsprachiger Diskussion hier glaub ich mal etwas gelesen zu haben wie man dauernd wechselnde IPs automatisch eintragen kann (oder ging es dabei nur um das Problem .. weiß nicht mehr).
Andererseits ließ sich dieses Automatisch hinzufügen relativ einfach über ein Zusatzmodul erledigen.
Modul deshalb da auch auf die Sicherheit geachtet werden sollte damit nicht jeder unnötige Backendendbenutzer hinzugefügt wird.
Full Stack Web Developer :: Dedicated OpenCart Development & Support DACH Region
Contact for Custom Work / Fast Support.
ein Webshopsystem in dem ich immer meine IP manuell hinterlegen muss um Aufträge zu bearbeiten.
Stellt euch vor Wordpress würde so arbeiten.... Bitte erst Ihre IP registrieren wenn Sie einen Blogeintrag anlegen möchten.
Lächerlich...
Aber vielen Dank OSWorX für dein Installscript und die schnelle Antwort hier im Forum. Ich glaube du bist einer der Gründe warum OpenCart in Deutschland überhaupt noch Anhänger hat.
MfG
DG-Webservices- Webdesign und Programmierung aus Friesland
Ja ich weiß das dass mit der IP nicht so optimal ist .. aber was soll ich machen?DaCrash wrote:Oh mein Gott. Ich habe auf alles gehofft, aber nicht auf so eine Antwort...
ein Webshopsystem in dem ich immer meine IP manuell hinterlegen muss um Aufträge zu bearbeiten.
Stellt euch vor Wordpress würde so arbeiten.... Bitte erst Ihre IP registrieren wenn Sie einen Blogeintrag anlegen möchten.
Lächerlich...
Wobei man hier schon einen kleinen Unterschied zu einem CMS machen sollte, ein Shop ist doch etwas anderes.
Aber du kannst dir vorstellen was das darüber intern für heftigste Diskussionen gegeben hat!
Wenn dir geholfen ist mit so einem Modul, dann melde dich per Email bei mir (habe aktuell etwas viel um die Ohren, aber das bekomme ich auch noch hin wenn es dringend ist).
Danke, ich bemühe mich .. freut mich dass ich überhaupt noch Anhänger habe ..DaCrash wrote:Aber vielen Dank OSWorX für dein Installscript und die schnelle Antwort hier im Forum. Ich glaube du bist einer der Gründe warum OpenCart in Deutschland überhaupt noch Anhänger hat.
Full Stack Web Developer :: Dedicated OpenCart Development & Support DACH Region
Contact for Custom Work / Fast Support.
Diese trägt beim Login ins Backend bei jedem vorhandenen API-User die aktuelle IP ein.
Hier der Code und im Anhang die Modifikation/Erweiterung für alle die es brauchen...
Code: Select all
//ADDON FOR ADDING CURRENT IP TO API USER
$currentIp = $this->request->server['REMOTE_ADDR'];
$this->load->model('user/api');
//1. get all configured APIs
$allApis = $this->model_user_api->getApis();
//api_id, name, key, status
//2. Add current IP to API Users if it isn't already there
foreach ($allApis as $api) {
$api_id = $api['api_id'];
$existingIps = $this->model_user_api->getApiIps($api_id);
//check if ip is already listed
$ipAlreadyExists = false;
foreach ($existingIps as $ip) {
if($ip['ip'] == $currentIp) {
$ipAlreadyExists = true;
break;
}
}
//add if it's not already there
if(!$ipAlreadyExists) {
$this->model_user_api->addApiIp($api_id, $currentIp);
}
}
//ALTERNATIVE 3. For all APIs delete all IPs and add the current one
//Attention: Only use in single user mode!!!
// foreach ($allApis as $api) {
// $api_id = $api['api_id'];
// $api['api_ip'][]=$currentIp;
// $this->model_user_api->editApi($api_id, $api);
// }
//ADDON END
Attachments
Erweiterung für OC ab 2.2 und 2.3
DG-Webservices- Webdesign und Programmierung aus Friesland
Also, so schlecht ist OpenCart nun auch wieder nicht. Aber die Entscheidung, auf ein OC v.2 -API System zu wechseln, trifft ja Jede|r selbst, doch es gibt weder einen guten Grund, noch eine zwingende Erfordernis, es zu tun, ausser, man wolle einfach ums Verr.... das Neuste als Version, was existiert.Aber vielen Dank OSWorX..., Ich glaube du bist einer der Gründe warum OpenCart in Deutschland überhaupt noch Anhänger hat.
Dabei sollte man es eigentlich wissen. Schon aus Erfahrung mit Windows, ich jedenfalls habe noch keine neue Win-Version gesehen, die wirklich auf Anhieb funzte, daher erwarte ich mit Sicherheit nicht, dass die paar Leute, die sich um die OC Programmierung kümmern, es besser können als die Massen von 'Jüngern' eines Billy Gates.
Und so, wie ich nach wie vor nur mit den PC's zuhause und im Geschäft arbeite, wo mein unverwüstliches und nach wie vor problemlos ubdatebares XP läuft, und die anderen nur als als Backup, wenn überhaupt, herhalten müssen, verlasse ich mich auf die letzte und bislang wahrscheinlich auch beste Version von Opencart, wie mich noch nicht zwingt, mich mich API und anderem Shit rumschlagen zu müssen, etwas also, was wohl für 90+% aller User sowieso noch für lange Zeit bedeutungslos ist.
Und sollte es einmal im breiteren Rahmen zum Einsatz kommen, wird es das Ganze im besten Fall nur noch komplizieren, denn die allermeisten User bekunden ja heute schon Mühe, auch nur etwas Einfaches einzubauen, dann aber über API auch noch völlig anderes geartete Programmierungen und Code zu integrieren, wird letztlich nur dazu führen, dass noch mehr unbekannte Fehler auftreten, für die Keiner mehr Lösungen kennt. Zumindest nicht länger kostenlos.
Schuster, bleib bei Deinen Leisten. Sollte man auch heute noch gelegentlich berücksichtigen. Und das Werkzeug benutzen, welches Einem dient. Eierlegende Wollmilchsau-Lösungen scheinen zwar vielleicht multifunktioneller, sind aber, für Fachleute zumindest, und für kleinere Shopbetreiber, die keine internen Code-Guru's beschäftigen, nur in den wenigeren Fällen auch wirklich dienlich.
Genausowenig wie die Mengen über-breiter und -hoher Offroader, die sich fast alle ja nur auf normalen Strassen bewegen. Etwa so ähnlich kommt es mir manchmal vor, mit diesem OC Upgrade-Syndrom.
Aber, was soll's, die Allermeisten werden ja sowieso nicht überleben, als profitabler Shop. Denn dazu braucht es halt einfach mehr, als nur zu glauben, die neuste OpenShop Version mache es dann schon von Allein...
Schönes Wochenende, ich wollte es einfach loswerden...
Ernst
My Github OC Site: https://github.com/IP-CAM
5'200 + FREE OC Extensions, on the World's largest private Github OC Repository Archive Site.
bin ein absoluter Neuling mit oc
Habe das gleiche Problem mit einem Test Auftrag.
Frage - lässt oc mich den Auftrag nicht bearbeiten weil die IP des Teskunden mit meiner indentisch ist ?
Oder liegt das an der alternierenden IP
siehe Code zum modifizieren.
Code: Select all
//ADDON FOR ADDING CURRENT IP TO API USER
$currentIp = $this->request->server['REMOTE_ADDR'];
$this->load->model('user/api');
//1. get all configured APIs
$allApis = $this->model_user_api->getApis();
//api_id, name, key, status
//2. Add current IP to API Users if it isn't already there
foreach ($allApis as $api) {
$api_id = $api['api_id'];
$existingIps = $this->model_user_api->getApiIps($api_id);
//check if ip is already listed
$ipAlreadyExists = false;
foreach ($existingIps as $ip) {
if($ip['ip'] == $currentIp) {
$ipAlreadyExists = true;
break;
}
}
//add if it's not already there
if(!$ipAlreadyExists) {
$this->model_user_api->addApiIp($api_id, $currentIp);
}
}
//ALTERNATIVE 3. For all APIs delete all IPs and add the current one
//Attention: Only use in single user mode!!!
// foreach ($allApis as $api) {
// $api_id = $api['api_id'];
// $api['api_ip'][]=$currentIp;
// $this->model_user_api->editApi($api_id, $api);
// }
//ADDON END
Mit dem Installer komm ich leider nicht weiter, weil er mir bei dem Anhang immer wieder sagt - Datei nicht gefunden.
Wobei ich noch anmerken muss - in den Settings unter Server ist das Feld für die Dateiarten komplett leer
- könnte dies auch dazuführen, dass ich mit dem Installer nicht arbeiten kann ? Falls ja - kann mir bitte jemand die benötigten Argumente auflisten ?
Seit bitte nachsichtig - ich fange gerade erst mit diesem Projekt an , hab schon einiges hinbekommen wie Deutsches Sprachmodul für Back und Frontend , ksofort, - multiple upload . Aber bei diesem Problem ist das hier der einzige Thread, der mich der Lösung näher bringen könnte.
OC Version 2.1.01
Module genannt
vqmod - datein in ftp hochgeladen - keine Fehlermeldungen - aber ob die installiert ist -kann ich leider nicht erkennen
Grüße Nico
Grüße Nico
jeder fängt mal an ..
1. wechselnde IPs:
OC ab 2.x verlangt für gewisse Sachen im Backend eine genehmigte IP.
Bei dynamischen IPs kann das recht schnell in Arbeit ausarbeiten sprich jedesmal wenn ein Auftrag bearbeitet werden soll, muss der Button + rechts oben angeklickt werden.
Soll das automatisch erfolgen, dann die Datei aus dieser Diskussion runterladen und mit dem integrierten Modulinstaller installieren - nix VQMod oder händisch irgendwo einfügen!
2. der Installer benötigt dateien welche enden auf xyz.ocmod.xml oder xyz.ocmod.zip
Ansonsten wird das nie funktionieren.
3. Sprache
Versteh ich jetzt nicht die Probleme, mit dem richtigen Sprachpaket von mir funktioniert das einfachst - auch schon zur Installation: http://www.opencart.com/index.php?route ... n_id=18894
Kann auch als ocmod per Installer nachinstalliert werden ohne dass man irgendwas mit FTP usw. machen muss
4. was das Problem mit VQMod sein soll, ergibt sich mir aus dem Text nicht ...
Ebenso mit den anderen Modulen.
Generell würde es für OC 2.x kein VQMod benötigen, ausser die Erweiterung gibt es NICHT als OCMod oder verlangt expliziert danach (wie manche meiner eigenen Module, da dafür OCMod zu unflexibel wäre).
Full Stack Web Developer :: Dedicated OpenCart Development & Support DACH Region
Contact for Custom Work / Fast Support.
Und weil ich keinen OcMod im V.2.2.0.0 Testshop habe, hab ich's halt
auf VqMod umgeschrieben, und so ausprobiert. Und es scheint zu laufen, nehm ich mal an.
Musste allerdings eine Zeitlang suchen, bis ich API in Admin
Bereich überhaupt wieder fand. Aber ich weiss nicht, wie ich bedientechnisch 'provozieren' könnte,
dass eine 'kein gültiger API Key' Meldung überhaupt erscheinen könnte, um sicher zu stellen,
das es richtig funzt.
Ernst
---
admin_auto_api_login.xml , Test Version only VqMod, OC v.2.2 - 2.3:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<modification>
<id><![CDATA[Add current IP to API User]]></id>
<version><![CDATA[OC v.2.2]]></version>
<vqmver><![CDATA[2.5.1]]></vqmver>
<author><![CDATA[BDG]]></author>
<link><![CDATA[http://www.dg-webservices.de]]></link>
<file name="admin/controller/common/login.php">
<operation error="log">
<search index="1" position="after"><![CDATA[$this->session->data['token'] = token(32);]]></search>
<add trim="false"><![CDATA[
$currentIp = $this->request->server['REMOTE_ADDR'];
$this->load->model('user/api');
//1. get all configured APIs
$allApis = $this->model_user_api->getApis();
//api_id, name, key, status
//2. Add current IP to API Users if it isn't already there
foreach ($allApis as $api) {
$api_id = $api['api_id'];
$existingIps = $this->model_user_api->getApiIps($api_id);
//check if ip is already listed
$ipAlreadyExists = false;
foreach ($existingIps as $ip) {
if($ip['ip'] == $currentIp) {
$ipAlreadyExists = true;
break;
}
}
//add if it's not already there
if(!$ipAlreadyExists) {
$this->model_user_api->addApiIp($api_id, $currentIp);
}
}
//ALTERNATIVE 3. For all APIs delete all IPs and add the current one
//Attention: Only use in single user mode!!!
//foreach ($allApis as $api) {
//$api_id = $api['api_id'];
//$api['api_ip'][]=$currentIp;
//$this->model_user_api->editApi($api_id, $api);
//}
]]></add>
</operation>
</file>
</modification>
My Github OC Site: https://github.com/IP-CAM
5'200 + FREE OC Extensions, on the World's largest private Github OC Repository Archive Site.
Full Stack Web Developer :: Dedicated OpenCart Development & Support DACH Region
Contact for Custom Work / Fast Support.
---
Aber eigentlich kommt die OcMod Lösung von DaCrash, so wäre es naheliegender, wenn er BEIDE Mod's in der Extension Section auf einer Seite präsentieren würde. Die Nachfrage wäre mit Sicherheit vorhanden, und ich habe ja alle V-2 Mod's sowieso von meiner Seite entfernt, weil ich lieber warte, bis v.2.5.6.4 Mode wird...
---
Es gibt halt beide 'Varianten' , wir alle können ja auch nichts dafür. Und solange die Aeltere halt einfach viel transparanter ist, und erst noch flexibler, wird man sie auch nicht wegbringen, es sei denn, mit reglementarischen Mitteln. Wobei ich immer schon der Meinung war, man solle die USER entscheiden lassen, schliesslich ist OC ein offenes System.
Den Schalter dazu gibt es ja länger schon auf Bild:
http://forum.opencart.com/viewtopic.php ... 59#p631092
Ernst
My Github OC Site: https://github.com/IP-CAM
5'200 + FREE OC Extensions, on the World's largest private Github OC Repository Archive Site.
Link : Auto login current IP to API
DG-Webservices- Webdesign und Programmierung aus Friesland
fast niemand aktiv hier, wahrscheinlich aus purer Angst, die Konkurrenz könnte vom eigenen
Wissen gar noch profitieren...
Ist halt klein, der deutschsprachige Teil der Welt, vielleicht mit ein Grund, dass es so ist.
Ernst
My Github OC Site: https://github.com/IP-CAM
5'200 + FREE OC Extensions, on the World's largest private Github OC Repository Archive Site.
Users browsing this forum: No registered users and 158 guests