Page 1 of 1

You do not have permission to access the API - Wechselnde IP

Posted: Wed Aug 24, 2016 4:35 pm
by DaCrash
Hallo Leute,

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

Re: You do not have permission to access the API - Wechselnd

Posted: Wed Aug 24, 2016 10:43 pm
by OSWorX
DaCrash 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 ..
So arbeitet nun mal das System seit 2.0
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.

Re: You do not have permission to access the API - Wechselnd

Posted: Thu Aug 25, 2016 1:31 am
by DaCrash
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...

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

Re: You do not have permission to access the API - Wechselnd

Posted: Thu Aug 25, 2016 1:52 am
by OSWorX
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...
Ja ich weiß das dass mit der IP nicht so optimal ist .. aber was soll ich machen?
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).
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.
Danke, ich bemühe mich .. freut mich dass ich überhaupt noch Anhänger habe ..

Re: You do not have permission to access the API - Wechselnd

Posted: Thu Aug 25, 2016 3:06 am
by DaCrash
Hey, danke für das Angebot mit dem Modul. Habe mir eben selber eine Modification geschrieben.
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

Re: You do not have permission to access the API - Wechselnd

Posted: Fri Aug 26, 2016 11:34 pm
by IP_CAM
Aber vielen Dank OSWorX..., Ich glaube du bist einer der Gründe warum OpenCart in Deutschland überhaupt noch Anhänger hat.
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.

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... :D

Schönes Wochenende, ich wollte es einfach loswerden... ;)
Ernst

Re: You do not have permission to access the API - Wechselnd

Posted: Tue Sep 06, 2016 4:36 am
by nico69
Hallo zusammen,

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
Sollte ich das einfügen - brauch ein wenig Hilfe wo genau das in die login,php geschrieben wird.

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

Re: You do not have permission to access the API - Wechselnd

Posted: Tue Sep 06, 2016 11:53 pm
by OSWorX
Hallo 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).

Re: You do not have permission to access the API - Wechselnd

Posted: Thu Sep 08, 2016 11:22 am
by IP_CAM
Wenn es funzt, scheint es die Lösung eines ganz leidigen Problems zu sein.
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>

Re: You do not have permission to access the API - Wechselnd

Posted: Thu Sep 08, 2016 3:47 pm
by OSWorX
Danke Ernie, stell es bitte auch als Downloaddatei hier ein.

Re: You do not have permission to access the API - Wechselnd

Posted: Thu Sep 08, 2016 11:46 pm
by IP_CAM
aber dann höchstens doch, wenn es auch funktioniert. Zudem bin ich nicht ganz sicher, ob die Variante Nummer 3 auch noch dazu aktiviert werden kann, oder nur, wenn Variante Nummer 2 deaktiviert wird. In meinem Test Script hatte ich alle Varianten aktiv, und keine Probleme festgestellt.
---
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... ;D
---
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: :D
http://forum.opencart.com/viewtopic.php ... 59#p631092

Ernst

Re: You do not have permission to access the API - Wechselnde IP

Posted: Thu Apr 13, 2017 3:35 pm
by DaCrash
So, ich habe es mal hochgeladen. Wenn es was dazu gibt, einfach einen Kommentar in der Extension lassen.

Link : Auto login current IP to API

Re: You do not have permission to access the API - Wechselnde IP

Posted: Fri Apr 14, 2017 11:14 am
by IP_CAM
Merci, einfach, dass sich jemand dafür bedankt. Ich brauch's ja nicht mal, aber sonst ist
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